Linux反弹shell
文件描述符
编号
文件描述符
含义
默认链接
用法
0
stdin
标准输入
键盘
仅读取
1
stdout
标准输出
终端
仅写入
2
stderr
标准错误输出
终端
仅写入
3+
filename
其他文件
无
读取/写入
输入/输出重定向
> fille
> 相当于 1>
但>符号有点危险,因为会覆盖文件原有内容
>> file>>就比>安全,>>是在文件后追加
2> file会将错误的输出重定向到指定文件
2> dev/null/dev/null类似垃圾桶,输入到该文件下的内容都会被丢弃
> file 2>&1 和 &> file> file 2>&1和&> file和>& file都是一个意思,将stdout和stderr都重定向到file中
>&1中的&符号是将后面的数字解析成文件描述符的意思,如果不加&符号,系统将会把后面的当成一个数字作为文件名的 ...
域横向内网漫游Socks代理技术
知识点私有地址IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用。当私有网络内的主机要与位于公网上的主机进行通讯时必须经过地址转换,将其私有地址转换为合法公网地址才能对外访问。
A类地址:10/8 10.0.0.0–10.255.255.255
B类地址:172.16/12 172.16.0.0–172.31.255.255
C类地址:192.168/16 192.168.0.0–192.168.255.255
内网间通信需要使用代理技术才能通信
正向反向协议通信连接正向:控制端连到被控端
反向:被控端连到控制端
我们一般无法直接访问到内网地址,就需要内网中的主机自己出网找到我们的唯一公网地址
内网穿透代理隧道技术代理:解决网络的连通性
隧道:应对流量监控工具和防火墙的过滤
内网穿透Ngrok测试-两个内网通讯上线Ngorkngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。
反向代理在计算机网络中是代理服务器 ...
域横向网络&传输&应用层隧道技术
知识点隧道在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。
代理和隧道技术的区别代理主要解决网络访问通讯问题(从一个内网到另一个内网)
隧道技术解决在代理基础之上通讯受阻的问题(被防火墙等检测拦截),达到绕过过滤限制等
隧道技术解决什么用单独的通道来传输被拦截的数据
CS、MSF无法上线,数据传输不稳定无回显,出口数据被监控,网络通信存在问题等
常见的隧道技术网络层:IPv6隧道、ICMP隧道
传输层:TCP隧道、UDP隧道、常规端口转发
应用层:SSH隧道、HTTP/S隧道、DNS隧道
网络传输应用层检测连通性-检测1.TCP协议用“瑞士军刀”netcat,执行nc命令:
nc <IP> <端口>
2.HTTP协议用curl工具,执行:
curl & ...
域横向CobaltStrike&SPN&RDP
域横向移动RDP传递-Mimikatz获取到的明文密码或HASH密文也可以通过RDP协议(远程桌面)进行连接操作。
判断对方远程桌面服务是否开启(默认:3389),端口扫描判断
RDP明文密码链接Windows:win+R 输入mstsc打开远程桌面连接输入账号密码
Windows命令行:mstsc.exe /console /v:IP /admin
Linux:(需要安装rdesktop)rdesktop IP
RDP密文HASH链接windows Server需要开启Restricted Admin mode,在Windows 8.1和Windows Server 2012 R2中默认开启,同时如果Win 7和Windows Server 2008 R2安装了2871997、2973351补丁也支持,开启命令:(只有管理员组(administrators)的用户hash才能用此方式登陆。)
12345678# 查看是否已开启 DisableRestrictedAdmin REG_DWORD 0x0 存在就是开启REG query "HKLM\System\CurrentC ...
域横向PTH&PTK&PTT哈希票据传递
知识点PTH&PTT&PTKPTH(pass the hash) 利用lm或ntlm的值进行的渗透测试
PTT(pass the ticket) 利用的票据凭证TGT进行的渗透测试
PTK(pass the key) 利用的ekeys aes256进行的渗透测试
PTH和PTKPTH原理是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不用提供明文密码。
如果禁用了ntlm认证,PsExec无法利用获得的ntlm hash进行远程连接,但是使用mimikatz还是可以攻击成功。对于8.1/2012r2,安装补丁kb2871997的Win 7/2008r2/8/2012等,可以使用AES keys代替NT hash来实现ptk攻击
总结KB2871997补丁后的影响PTH:没打补丁用户都可以连接,打了补丁只能administrator远程ipc连接
PTK:打了补丁才能用户都可以连接,采用aes256连接
查看补丁:用systeminfo命令
参考:KB22871997是否真的能防御PTH攻击
...
域横向smb&wmi明文或hash传递
知识点1Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码
针对以上情况,我们提供了4种方式解决此类问题
利用哈希hash传递(pth、ptk等)进行移动
利用其它服务协议(SMB、WMI等)进行哈希移动
利用注册表操作开启Wdigest Auth值进行获取。修改注册表:reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f 作者:shtome https://www.bilibili.com/read/cv14518781 出处:bilibili
利用工具或第三方平台(Hachcat)进行破解获取
知识点2Windows系统LM Hash及NTLM Hash加密算法,个人系统在Windows vista后,服务器系统在Windows 2003以后,认证方式均为NTLM Hash。
P ...
域横向批量at&schtasks&impacket
横向渗透明文传递at&schtasksat&schtasks命令,可以在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。
利用思路获取到某域主机权限->minikatz得到密码(明文,hash)->用到信息收集域用户的列表当做用户名字典->用到密码明文当做密码字典->尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令
利用流程
建立IPC链接到目标主机
拷贝要执行的命令脚本到目标主机
查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
删除IPC链接
IPC(Inter Process Connection)共享命名管道的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获取相应权限,通常在远程管理计算机和查看计算机的共享资源时使用
通过ipc$可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器只能够的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息
IPC相关操作123456 ...
域环境&工作组&局域网探针方式
名词解释DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络。因为这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。
工作组和域环境工作组
工作组有时也叫对等网络,因为每台计算机的角色是对等的,他们的资源和管理分散在各个计算机上
用户账户的任何变化,例如修改密码或添加新的账户必须在每台计算机上操作
工作组中的每台计算机都维护一个本地安全数据库(我理解为可以登录的账户信息和共享的资源信息),这就分散了用户账户和资源安全的管理,在每台用户需要访问的计算机上,用户都必须使用此用户账户。
域
域模型就是针对大型网络的管理需求而设计的,域就是共享用户账号,计算机账号和安全策略的计算机集合
域提供 ...
Linux定时任务&环境变量&数据库
在Linux中使用环境变量进行提权
这里需要注意的是:
文章中讲到的shell可执行文件是本身受害端就有的并且具有SUID权限
PATH=/tmp:$PATH和PATH=$PATH:/tmp有点不同
这会导致在去寻找环境变量的先后顺序不一样,优先查找前面的路径
linux环境变量参考:https://blog.csdn.net/rain_yunlx/article/details/78850580
利用通配符进行Linux本地提权
漏洞前提:需要存在不安全的定时任务
参考:Linux提权一文通
vulnhub靶机渗透-Raven21.信息收集用nmap探测目标主机
全端口扫描
访问目标地址,翻看网页源码等找寻信息
在BLOG页面发现有wordpress
注意:这里最初访问存在显示不完整,可能是因为网站源码是通过raven.local来访问的,解决办法是将本地hosts文件添加一个域名解析
发现wordpress,直接上wpscan进行扫描(这里使用kali中的wpscan时,可能也需要配置一下hosts域名解析)
vim /etc/hosts
(其实也不用,最开 ...
Linux脏牛内核漏洞&SUID&信息收集
自动化脚本两个信息收集:LinEnum linuxprivchecker
两个漏洞探针(用于检测内核漏洞):linux-exploit-suggester linux-exploit-suggester2
SUID提权SUID概念:SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
一般思路:拿到webll后,上传信息收集脚本,查看是否存在suid提权(一般上传至/tmp文件夹内,因为该目录一般是可读写可执行的,上传至其他目录以获得的权限可能会无法成功完成相关操作),若上传后没有执行权限使用chmod +x 文件名来使其可执行。当找到可利用的有SUID的全局命令(参考文章中有具体的那几种可以利用)使用对应的方法就可提权
参考
SUID Executables – Penetration Testing Lab
Linux下用SUID提权
Linux本地提权-内核漏洞-Mozhe靶场提权过程:连接ssh->上漏洞探针脚本进行漏洞探测->下载上传EX ...