mirror of
				https://github.com/telekom-security/tpotce.git
				synced 2025-10-31 04:22:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | ||
| 
 | ||
| myHOST="$1"
 | ||
| myPACKAGES="dcmtk ncat nmap yq"
 | ||
| myDOCKERCOMPOSEYML="$HOME/tpotce/docker-compose.yml"
 | ||
| myTIMEOUT=180
 | ||
| myMEDPOTPACKET="
 | ||
| MSH|^~\&|ADT1|MCM|LABADT|MCM|198808181126|SECURITY|ADT^A01|MSG00001-|P|2.6
 | ||
| EVN|A01|198808181123
 | ||
| PID|||PATID1234^5^M11^^AN||JONES^WILLIAM^A^III||19610615|M||2106-3|677 DELAWARE AVENUE^^EVERETT^MA^02149|GL|(919)379-1212|(919)271-3434~(919)277-3114||S||PATID12345001^2^M10^^ACSN|123456789|9-87654^NC
 | ||
| NK1|1|JONES^BARBARA^K|SPO|||||20011105
 | ||
| NK1|1|JONES^MICHAEL^A|FTH
 | ||
| PV1|1|I|2000^2012^01||||004777^LEBAUER^SIDNEY^J.|||SUR||-||ADM|A0
 | ||
| AL1|1||^PENICILLIN||CODE16~CODE17~CODE18
 | ||
| AL1|2||^CAT DANDER||CODE257
 | ||
| DG1|001|I9|1550|MAL NEO LIVER, PRIMARY|19880501103005|F
 | ||
| PR1|2234|M11|111^CODE151|COMMON PROCEDURES|198809081123
 | ||
| ROL|45^RECORDER^ROLE MASTER LIST|AD|RO|KATE^SMITH^ELLEN|199505011201
 | ||
| GT1|1122|1519|BILL^GATES^A
 | ||
| IN1|001|A357|1234|BCMD|||||132987
 | ||
| IN2|ID1551001|SSN12345678
 | ||
| ROL|45^RECORDER^ROLE MASTER LIST|AD|RO|KATE^ELLEN|199505011201"
 | ||
| 
 | ||
| function fuCHECKDEPS {
 | ||
| myINST=""
 | ||
| for myDEPS in $myPACKAGES;
 | ||
| do
 | ||
|   myOK=$(sudo dpkg -s $myDEPS | grep ok | awk '{ print $3 }');
 | ||
|   if [ "$myOK" != "ok" ]
 | ||
|     then
 | ||
|       myINST=$(echo $myINST $myDEPS)
 | ||
|   fi
 | ||
| done
 | ||
| if [ "$myINST" != "" ]
 | ||
|   then
 | ||
|     sudo apt-get update -y
 | ||
|     for myDEPS in $myINST;
 | ||
|     do
 | ||
|       sudo apt-get install $myDEPS -y
 | ||
|     done
 | ||
| fi
 | ||
| }
 | ||
| 
 | ||
| function fuCHECKFORARGS {
 | ||
| if [ "$myHOST" != "" ];
 | ||
|   then
 | ||
|     echo "All arguments met. Continuing."
 | ||
|     echo
 | ||
|   else
 | ||
|     echo "Usage: hptest.sh <[host or ip]>"
 | ||
|     echo
 | ||
|     exit
 | ||
| fi
 | ||
| }
 | ||
| 
 | ||
| function fuGETPORTS {
 | ||
| myDOCKERCOMPOSEUDPPORTS=$(cat $myDOCKERCOMPOSEYML | grep "udp" | tr -d '"\|#\-' | cut -d ":" -f2 | cut -d "/" -f1 | sort -gu)
 | ||
| myDOCKERCOMPOSEPORTS=$(cat $myDOCKERCOMPOSEYML | yq -r '.services[].ports' | grep ':' | sed -e s/127.0.0.1// | tr -d '", ' | sed -e s/^:// | cut -f1 -d ':' | grep -v "6429\|6430" | sort -gu)
 | ||
| myUDPPORTS=$(for i in $myDOCKERCOMPOSEUDPPORTS; do echo -n "U:$i,"; done)
 | ||
| myPORTS=$(for i in $myDOCKERCOMPOSEPORTS; do echo -n "T:$i,"; done)
 | ||
| #echo ${myUDPPORTS}
 | ||
| #echo ${myPORTS}
 | ||
| }
 | ||
| 
 | ||
| # Main
 | ||
| fuCHECKFORARGS
 | ||
| fuCHECKDEPS
 | ||
| fuGETPORTS
 | ||
| echo
 | ||
| echo "Probing some services ..."
 | ||
| echo "$myMEDPOTPACKET" | nc "$myHOST" 2575 &
 | ||
| curl -XGET "http://$myHOST:9200/logstash-*/_search" &
 | ||
| curl -XPOST -H "Content-Type: application/json" -d '{"name":"test","email":"test@test.com"}' "http://$myHOST:9200/test" &
 | ||
| echo "I20100" | timeout --foreground 3 nc "$myHOST" 10001 &
 | ||
| findscu -P -k PatientName="*" $myHOST 11112 &
 | ||
| getscu -P -k PatientName="*" $myHOST 11112 &
 | ||
| telnet $myHOST 3299 &
 | ||
| echo
 | ||
| echo "Starting scan on all UDP / TCP ports defined in ${myDOCKERCOMPOSEYML} ..."
 | ||
| timeout --foreground ${myTIMEOUT} nmap -sV -sC -v -p $myPORTS $1 &
 | ||
| timeout --foreground ${myTIMEOUT} nmap -sU -sV -sC -v -p $myUDPPORTS $1 &
 | ||
| echo
 | ||
| wait
 | ||
| echo "Restarting some containers ..."
 | ||
| docker stop adbhoney conpot_guardian_ast conpot_kamstrup_382 dionaea
 | ||
| docker start adbhoney conpot_guardian_ast conpot_kamstrup_382 dionaea
 | ||
| echo
 | ||
| echo "Resetting terminal ..."
 | ||
| reset
 | ||
| echo
 | ||
| echo "Done."
 | ||
| echo
 | 
