@@ -18,8 +18,8 @@ def initialize
18
18
This module acts as a simplistic administrative client for interfacing
19
19
with Veeder-Root Automatic Tank Gauges (ATGs) or other devices speaking
20
20
the TLS-250 and TLS-350 protocols. This has been tested against
21
- GasPot, a honeypot meant to simulate ATGs; it has not been tested
22
- against anything else, so use at your own risk.
21
+ GasPot and Conpot, both honeypots meant to simulate ATGs; it has not
22
+ been tested against anything else, so use at your own risk.
23
23
} ,
24
24
'Author' =>
25
25
[
@@ -31,6 +31,7 @@ def initialize
31
31
[ 'URL' , 'https://community.rapid7.com/community/infosec/blog/2015/01/22/the-internet-of-gas-station-tank-gauges' ] ,
32
32
[ 'URL' , 'http://www.trendmicro.com/vinfo/us/security/news/cybercrime-and-digital-threats/the-gaspot-experiment' ] ,
33
33
[ 'URL' , 'https://github.com/sjhilt/GasPot' ] ,
34
+ [ 'URL' , 'https://github.com/mushorg/conpot' ] ,
34
35
[ 'URL' , 'http://www.veeder.com/us/automatic-tank-gauge-atg-consoles' ] ,
35
36
[ 'URL' , 'http://www.chipkin.com/files/liz/576013-635.pdf' ] ,
36
37
[ 'URL' , 'http://www.veeder.com/gold/download.cfm?doc_id=6227' ]
@@ -187,6 +188,8 @@ def setup
187
188
def get_response ( request )
188
189
sock . put ( request )
189
190
response = sock . get_once ( -1 , timeout )
191
+ response . strip!
192
+ response += " (command not understood)" if response == "9999FF1B"
190
193
response
191
194
end
192
195
@@ -245,7 +248,8 @@ def run_host(_host)
245
248
end
246
249
else
247
250
response = get_response ( "#{ action . opts [ protocol_opt_name ] } \n " )
248
- print_good ( "#{ protocol } #{ action . opts [ 'Description' ] } :\n #{ response } " )
251
+ print_good ( "#{ protocol } #{ action . opts [ 'Description' ] } :" )
252
+ print_line ( response )
249
253
end
250
254
ensure
251
255
disconnect
0 commit comments