Example #1
0
def main(argv):
  logging.basicConfig(level=logging.INFO)
  #logging.getLogger('model').setLevel(logging.INFO)


  # we must have big privileges...
  if os.getuid() + os.geteuid() != 0:
    log.error("You must be root/using sudo to read memory and sniff traffic. So there's no point in going further")
    return
  
  if not os.access('outputs', os.X_OK) :
    os.mkdir('outputs/')
  
  options=buildTuples(_targets)
  threads=[]
  forked=0
  # get sniffer up
  sniffer = utils.launchScapy()  
  for pid,proc in options:
    log.info("Searching in %s/%d memory"%(proc.name,proc.pid))
    conn = utils.checkConnections(proc)
    if not conn and 'ssh-agent' != proc.name:
      continue
    log.info('Adding this pid to watch list')
    runthread(_targets[proc.name], sniffer, proc,conn)
    
    forked+=1
    log.info('Subprocess launched on pid %d'%(proc.pid))

  for p in Processes:
    p.join()
  time.sleep(5)
  log.info(' ============== %d process forked. look into outputs/ for data '%(forked))
  sys.exit(0)
  return 0