diff options
Diffstat (limited to 'src/usr.bin/nc/scripts/probe')
-rw-r--r-- | src/usr.bin/nc/scripts/probe | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/usr.bin/nc/scripts/probe b/src/usr.bin/nc/scripts/probe new file mode 100644 index 0000000000..c47dc3f495 --- /dev/null +++ b/src/usr.bin/nc/scripts/probe | |||
@@ -0,0 +1,50 @@ | |||
1 | #! /bin/sh | ||
2 | ## launch a whole buncha shit at yon victim in no particular order; capture | ||
3 | ## stderr+stdout in one place. Run as root for rservice and low -p to work. | ||
4 | ## Fairly thorough example of using netcat to collect a lot of host info. | ||
5 | ## Will set off every intrusion alarm in existence on a paranoid machine! | ||
6 | |||
7 | # where .d files are kept; "." if nothing else | ||
8 | DDIR=../data | ||
9 | # address of some well-connected router that groks LSRR | ||
10 | GATE=192.157.69.11 | ||
11 | |||
12 | # might conceivably wanna change this for different run styles | ||
13 | UCMD='nc -v -w 8' | ||
14 | |||
15 | test ! "$1" && echo Needs victim arg && exit 1 | ||
16 | |||
17 | echo '' | $UCMD -w 9 -r "$1" 13 79 6667 2>&1 | ||
18 | echo '0' | $UCMD "$1" 79 2>&1 | ||
19 | # if LSRR was passed thru, should get refusal here: | ||
20 | $UCMD -z -r -g $GATE "$1" 6473 2>&1 | ||
21 | $UCMD -r -z "$1" 6000 4000-4004 111 53 2105 137-140 1-20 540-550 95 87 2>&1 | ||
22 | # -s `hostname` may be wrong for some multihomed machines | ||
23 | echo 'UDP echoecho!' | nc -u -p 7 -s `hostname` -w 3 "$1" 7 19 2>&1 | ||
24 | echo '113,10158' | $UCMD -p 10158 "$1" 113 2>&1 | ||
25 | rservice bin bin | $UCMD -p 1019 "$1" shell 2>&1 | ||
26 | echo QUIT | $UCMD -w 8 -r "$1" 25 158 159 119 110 109 1109 142-144 220 23 2>&1 | ||
27 | # newline after any telnet trash | ||
28 | echo '' | ||
29 | echo PASV | $UCMD -r "$1" 21 2>&1 | ||
30 | echo 'GET /' | $UCMD -w 10 "$1" 80 81 210 70 2>&1 | ||
31 | # sometimes contains useful directory info: | ||
32 | echo 'GET /robots.txt' | $UCMD -w 10 "$1" 80 2>&1 | ||
33 | # now the big red lights go on | ||
34 | rservice bin bin 9600/9600 | $UCMD -p 1020 "$1" login 2>&1 | ||
35 | rservice root root | $UCMD -r "$1" exec 2>&1 | ||
36 | echo 'BEGIN big udp -- everything may look "open" if packet-filtered' | ||
37 | data -g < ${DDIR}/nfs-0.d | $UCMD -i 1 -u "$1" 2049 | od -x 2>&1 | ||
38 | # no wait-time, uses RTT hack | ||
39 | nc -v -z -u -r "$1" 111 66-70 88 53 87 161-164 121-123 213 49 2>&1 | ||
40 | nc -v -z -u -r "$1" 137-140 694-712 747-770 175-180 2103 510-530 2>&1 | ||
41 | echo 'END big udp' | ||
42 | $UCMD -r -z "$1" 175-180 2000-2003 530-533 1524 1525 666 213 8000 6250 2>&1 | ||
43 | # Use our identd-sniffer! | ||
44 | iscan "$1" 21 25 79 80 111 53 6667 6000 2049 119 2>&1 | ||
45 | # this gets pretty intrusive, but what the fuck. Probe for portmap first | ||
46 | if nc -w 5 -z -u "$1" 111 ; then | ||
47 | showmount -e "$1" 2>&1 | ||
48 | rpcinfo -p "$1" 2>&1 | ||
49 | fi | ||
50 | exit 0 | ||