链接:https://pan.baidu.com/s/1hreNDluRVpU3JzblVgzJYA?pwd=ybww
提取码:ybww
--来自百度网盘超级会员V3的分享
我只做恶意程序和服务器,这两块美亚杯也是我做的,所以我会对这两块仔细解析,特别是服务器部分,涉及到网站重构和数据库,虽然美亚杯不考,但是长安杯喜欢考,美亚杯面很广很细,长安杯比较深。
第一部分是恶意程序分析的
1:通过对1.dll恶意程序分析,得知DllMain的地址是什么?(格式按大写字母与数字组合填写 如:AB12DC)
关于ida软件我运用的很差,光装ida就装了很久,我电脑原来是python3.10环境,就是和ida环境也不符,然后涉及到授权等问题,英文的我不太看得懂,选择永乐汉化版,但是有感觉和英文版不一样,所以我推荐大家还是下载英文版,最后我迫于无奈还是把程序放到虚拟机里面分析,终于是可以了,那现在就开始。
DllMain是程序头,一般打开就可以看到了,地址的话敲一下空格键,就可以切换到视图(有地址的,可以这样转化)但是永乐汉化版不行,我建议两个软件都下载,然后熟悉英文版,最后使用英文版的)
那么就看到地址了
2:通过对1.dll恶意程序分析,gethostbyname函数定位到什么地址?(格式按大写字母与数字组合填写 如:AB12DC)
alt+T搜索文本
但是在import里面看到的是这样的,发现上图看到的只是引用地址,会有很多引用地址,但是函数地址应该到import里面去看才是真正的函数地址。
3:接上题,有多少个函数调用了函数gethostbyname (格式数字 如:1)
在输入(import)里面ctrl+f搜索函数,如何接下来是要看一个交叉引用,简单说就是点快捷键x
但是不是在这个界面,而是点进函数后,就是双击函数,再按x
在view-A界面交叉引用,这里其他消息什么方向,文本,地址都简单,关键是类,type中的p表示调用流、r表示读取属性,去除重复出现的函数,得到的就是实际调用的次数。这里p表面看起来有9个,但是实际上只有5个,应该有几处调用地址都是相似的,其实是一个地方调用的。
4:通过对1.dll恶意程序分析,详细分析位于0x10001757处的gethostbyname调用,DNS请求将被触发的域名是?(格式:小写字母、数字、.组合 如www.sina12.com)
首先地址定位,快捷键g,找到这个位置
然后涉及到一个汇编语言理解问题,吧off10019040放入eax中,然后再eax中添加0Dh,push eax是一个入栈操作,call应该就是引用gethostbyname,所以这几个东西变成一体了,所以应该点到off——10019040里面去看一下。
发现是这样的后面的就是网址,这题我理解的不好,可以看其他大佬的解析会好很多。
5:通过对1.dll恶意程序分析,IDA Pro识别了在0x10001656处的子函数中的多少个局部变量?(格式:填写数字 如:1)
g定位到函数,这里我要解释一下,这里符号有正有负,带负号的就是局部变量,正号的就是参数,所以除了最后那个4是参数,其余23个全部是局部变量
6:通过对1.dll恶意程序分析,IDA Pro识别了在0x10001656处的子函数中的多少个参数?(格式填写数字 如:1)
解释在上面,那就是1个
7:通过对1.dll恶意程序分析,字符串“\cmd.exe /c”位于哪里?(格式:格式按大写字母与数字组合填写 如:AB12DC)
字符串搜索alt+T,由此发现了地址,但是这样不对,因为这样搜我发现有两个,应该类似于前面的引用,所以
所以最好到字符串窗口里面查看,英文版的string
就是这个地址,虽然我也不能完全解释,但是这个应该就是类似于引用的和真实位置
8:接上题,在引用“\cmd.exe /c” 的代码所在的区域发生了什么?
首先在字符串窗口点击
进入后,看到aHiMasterDDDDDD里面写了大概文字的东西,看到shell,应该是shell远程连接
承认这题我不会做,网上大佬解释也没怎么看明白。
9:通过对1.dll恶意程序分析,0x1000FF58处子函数中若对 ”robotwork” 字符串的memcmp比较是成功的,会发生什么?
实在太复杂,本人不会,可以看其他大佬的解析
10:通过对1.dll恶意程序分析,,PSLIST导出函数最后导出了什么文件(格式小写字母、数字与.组合填写 如:abc1123.abc)
首先在导出表格里面找到
后续操作应该是分析函数,但是太难了,实在太复杂,本人不会,可以看其他大佬的解析
11:通过对1.dll恶意程序分析,DllMain直接调用了多少个API?(格式填写数字 如:1)
直接调用是1级调用,然后视图里面看,答案是4个
12:接上题,DllMain函数有几个参数?(格式填写数字 如:1)
显然,三个正的,三个参数
13:通过对1.dll恶意程序分析,程序在0x10001358处对sleep的调用会睡眠多少秒?(格式:填写数字 如:1)
太难
14:通过对1.dll恶意程序分析,在10001701处是一个对Socket的调用。它的第2个参数是什么?(格式:填写数字 如:1)
直接跳转到地址,就可以看到,6,1,2
15:通过对1.dll恶意程序分析,搜索in指令(0xED)的使用。使用这个指令目的什么?(格式:填写数字 如 :10000)
不会
16:通过对1.dll恶意程序分析,将光标跳转到0x1001D988处,对加密的内容进行解密,解密后的内容为?(格式填写大小写字母、 空格、 , 组合 如:abc,dgMACgd dddAA) (10分)
不会
ida到此结束,我把基础的做完了,复杂的实在不会。
下面开始手机部分
1:计算该APP安装包的SHA256校验值(答案格式填写大写字母与数字组合格式: DE0B2B9DFF1F359E33219A159A70C0A09F2A491835245D1A1E1BCFB6E18909 )
hashcale跑一下
、
2: 请对 APP 进行取证分析,APP 使用的包名(格式com.tencent.mm)
雷电跑一跑
3:请对APP进行取证分析,APP使用的第三方服务name名称是什么?
由于我不做手机和流量,这一块我就不写了,我直接写服务器。
1:通过对小型集群服务器分析,该服务器系统类型是?
linux
2:通过对小型集群服务器分析,该服务器系统时区是?
data CST
3:通过对小型集群服务器分析,该服务器的sshd端口是多少?(答案格式:填写数字 如:10)
22
4:小型集群服务器涉案网站的域名?(答案格式填写小写字母 . 数字组合 如:www.sina.com)
www.huarun.com
这题我有猜的成分,因为我安装nginx和apach的配置文件找都找不到,所以只能去网站里面猜一下
5:涉案网站做了反向代理操作,使用的策略是什么?(答案格式:填写汉字 如:负载均衡)
策略就是负载均衡,如果细致一点可以写到轮循。
这个网站是宝塔构建的,虽然弘连没有直接跑出来,但是也看得到。
下面一篇博文是对宝塔的文件结构讲解
宝塔系统目录结构_sunsineq的博客-CSDN博客_宝塔数据库文件目录
从这个看,应该去找他的配置目录
但是意外发现源文件的配置没有的,可能被出题方删掉了,真的邪恶。
那就去看backup里面的备份文件,最终在此目录下成功找到网站,后面有三个网站,我判断是负载均衡,至于轮循,实在过于细致,我建议可以网上深入了解一下反向代理和负载均衡
正在上传…重新上传取消正在上传…重新上传取消
负载均衡是很明显的,三个端口号
6:Docker中数据库容器的运行日志是在哪里,写出完整路径下的日志文件?(答案格式填写小写字母与数字等组合 如: /www/wwroot123/ab344/aa.log)
/var/lib/docker/containers/05821c99dcc43ce6eb571fe19869cd2e877d53f321f2502225c77d42def8ef6d
7:涉案网站管理后台登录密码的加密算法?
经过我的暴力搜索,发现网站里面实在没有,首先文件已经被删除了,要看也只能去备份里面看,备份里面也没有,目前为止是无解 的,但是毕竟还有容器,出题人的意思就是叫我去翻看容器。
容器里面也很复杂,经过大佬的提示,找到文件,但是不得不说,大佬对网站架构非常熟悉,能很快地找到文件所在位置
这个方法最可以,做的出来,但是我实在不会,我选择爆搜,我猜加密关键词是:pass MD5这种,但是发现搜出来有几万,就不能,然后就搜索登录成功,登录失败这类关键词,网站涉及验证,登录界面不可能不用到这类关键词,这类关键词。
但是这个方法不可,我发现关键的网页文件是拉不出来的,很牛逼,就是看不到的,要单独对那个文件搜索,答案还是搜得到的
md5(md5($data['password']
8:涉案网站的数据库是否开启general日志?(答案格式填写是或者否)
首先是要开启数据库
但是发现数据库那个就是开启不了
docker start 数据库名 -i 能看具体消息
这里显示my.cnf第36行出错了,我们点进去看一下
一般情况是无法进入容器修改的,所以这用到一个大佬的操作
先把容器里的文件转移到tmp文件夹下,然后修改,修改好了cp回去。那样就间接完成了修改
第36行有注释,把注释去掉就改好了
然后我就成功启动了,前后耗时一小时,真是醉了
还有第二种方法,直接全局搜索,去修改相关文件
总共有这么多文件,我们要找mysql/my.cnf 由于文件在容器里面,所以我认为只有两条比较符合,我都点进入看一下,如何找到她的第36行
两个都尝试后发现是第二个文件关键字符mysql被注释掉了,所以报错,很简单,把注释删掉了就哈了
修改完后我们可以看到他已经重启成功了。
因为涉及网站,网站肯定有数据,所以我们最直接的思路就是重启网站,我一开始做决定太难,所以选择navicat连数据库然后做,我现在第二遍做,想连一下网站试试看。
可知这是nginx,所以思路的第一步就是启动nginx,但是由于启动失败,所以去找原因为什么会报错。
启动命令:ststemctl start nginx
检索错误:systmctl status nginx.service
之后就要登录数据库,那就涉及到数据库密码问题,思路有
1:去网站里面找
2:去历史记录里面看
3:绕过
其实首选的应该是历史记录,其次我觉得绕过和网站都可以,但是这题容器绕过操作和改myqsl注释一样,都是蛮麻烦的,所以我去看看历史记录。
我一开始在root里面看历史记录发现没有,后面才想起来历史记录要到容器里面看
登录后因为是要看general日志,我一开始用单引号没有用,最后用双引号猜搞出来,但是网上很多教程都是单引号,也成功了,也不知道为什么,这题就是没有开启。
9:用户名"yw0218"的提现余额是多少元?(答案格式填写数字 保留小数点后二位 如:123.12)
我水平太差,网站重构不现实,我就想用navicat链接数据库,然后直接看数据。
链接虚拟机内部docker操作办法,高亮!
因为数据库在docker里面,直接连接我试过不行,经过浙警许专家教学,我发现要找到docker的ip,然后(常规)直接连docker的ip 而且ssh通道连虚拟机ip 二者缺一不可, docker inspect 容器名 就可以看到容器信息172.18.0.5
几个命令:
docker exec -it 容器名 /bin/bash 进入某容器
ctrl+D是退出mysql
ctrl+p+q是退出容器
docker inspect 容器名 是查看容器信息
nevicat里面看到了数据库信息
9:曾经的用户名为"fang25"的用户,其提现银行卡号是多少?(格式:填写数字:111111111111111111)
我直接在nevicat里面查询找不到,看到题目问曾经,就猜到这个客户改名字了,所以又要去看日记,看看他新的名字是什么
就查询日记文件所在的位置
进入目录查看文件后发现一条文件修改记录,原名叫tepulang
理论上是可以看到的全局搜索找到了信息,但是点开后发现没有银行卡,就是个人信息中没有,但是表格里有,我猜测应该是某种对应关系,所以选取姓名等进行搜索
因为我找到了她的姓名,所以最后通过姓名搜索找到了卡号
10:曾经的用户名为"fang25"的用户,其于2021-10-22日充值金额为多少元?(格式:填写数字取整 如:123)
我把uid作为关键词查找流水信息
经过我的时间戳查询,22号只有一笔,21000
11:曾经的用户名为"fang25"的用户,其于2021-10-22日进行利益一笔交易,其成交价格为多少元?(格式:填写数字 保留小数点后三位 如:123.123)
依靠暴力找到,物品是橡胶,价格如下
12:通过查看后台可以看出一共有多少产品?(答案格式填写数字 如:123)
应该就是下列这两个表总,可以看到后表齐全很多,总共14
13:一共有多少用户被禁用?(答案格式填写数字 如:123)
根据用户列表的ustatue可以大致猜测被禁用的 15个
14:根据设置规则,单笔提现最大金额是多少?(格式:填写数字取整 如:123)
我看数据表是96万多,但是应该不是的
发现这里才是网站数据
15:交易账号为”Ywei520”的用户再交易平台上委托金额是多少元?(格式:填写数字 保留小数点后一位 如:123.1)
上面一直方法是做数据库,也就是不重构网站,我接下来想做一下重构网站的做法,那还是重头开始吧:
![](https://i-blog.csdnimg.cn/blog_migrate/92d494a365292acbaa67514eec4ca6fc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/355ffe7ee1c8156e2a95a31e35aa20fe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/92f2c5a473982692c043f61eb3d28da8.png)
从配置文件看nginx,我没有找到,但是网站看,可以看到是华润
![](https://i-blog.csdnimg.cn/blog_migrate/1c5893d8de460cf0ec959bece6882685.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a61ea03b3fd1368f57d47bf370496230.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3f327d54b3890670903875e80ec35ee.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2eac86eb901b80aaf688205f54c7c727.png)
本来从做题的角度而言,是不用修复这个容器的,但是我是学习,所以还是要把容器修复
查看日记后发现报错是这四个关注第三,/etc/mysql/my.cnf这个文件夹下36行出问题
所以去找到这个文件夹
find / name my.cnf
进入发现mysql被注释,删了就好
然后就显示重启成功
然后目前我们访问网站是这个结果
目前这个样子,说明网站启动了,在后面还补充了一段内容,说明网站是可以正常启动了。
出现这种原因是因为网站的路由有问题,没有找到合适的入口文件
![](https://i-blog.csdnimg.cn/blog_migrate/586a7e0343502ed21774408900d6aeb0.png)
好在还有一个后备的万能命令:
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484be
登录宝塔面板后题目就变成可视化了
顺利找到数据库信息
![](https://i-blog.csdnimg.cn/blog_migrate/faf0653c445e2d279fafb8e76f21ad9e.png)