dichotomy / scorebot Goto Github PK
View Code? Open in Web Editor NEWScoring Engine for CTF competitions
Scoring Engine for CTF competitions
2017-07-10 16:17:15-0400 [Uninitialized] Unhandled Error
Traceback (most recent call last):
File "./MonitorCore.py", line 213, in
reactor.run()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1243, in run
self.mainLoop()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1255, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/site-packages/twisted/internet/epollreactor.py", line 235, in doPoll
log.callWithLogger(selectable, _drdw, selectable, fd, event)
--- ---
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 103, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 86, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 85, in callWithContext
return func(*args,**kw)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 610, in _doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 258, in _disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 476, in connectionLost
self.failIfNotConnected(error.ConnectError(string=reason))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 453, in failIfNotConnected
self.connector.connectionFailed(failure.Failure(err))
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1128, in connectionFailed
self.factory.clientConnectionFailed(self, reason)
File "/home/earnoth/Monitors/WebClient.py", line 469, in clientConnectionFailed
if self.status:
exceptions.AttributeError: WebServiceCheckFactory instance has no attribute 'status'
Do not show Red Team's score publicly on the scoreboard, but show them privately
SBE randomly stops issuing jobs
Hi folks. Not an issue, more a question as to how to use a function.
I've managed to get Scorebot up and running OK, and have the Monitor running too. So can add a host, and monitor a service and it works in terms of monitoring if it's up/down.
I know theres the Service Content on the Scorebot, and i'm wondering how that works?.
So i know i create a Service Content which is linked to a service. Do you have an example of a check?
So like if i'm monitoring a basic web page on port 80. What would a Service Content example be?
e.g Would it need to contain the GET response? Or would plain text work?
Many thanks in advance for all your effort on Scorebot. I'm hoping to use it on a CTF in Australia soon.
Cheers
Scores were observed growing after stopping a game
Add the ability to show Youtube movies over top of the scoreboard
Add logging using python logging module.
Not sure the cause on this, but during BSidesLV15, when we started to get a high beacon count, compromised teams were be listed twice with the beacon count dividing between the double listing.
While I understand the idea behind this, I'm an evil person and look at this from those eyes... If I'm blue or even red for day 2 of a BSides event. Redcell player has 4 beacons on my host, I can easily just register that player handle again assigning him/her a new UID w/o them knowing and killing all their beacons. Would be better is scorebot simply just grabbed the currently registered UID and repeat it back to them instead of assigning a new one.
The movie addon isn't working.
An interface/website for Redcell to monitor exactly which hosts they are getting credit for beaconing.
Have an idea/example on this if trying to keep old school look over website.
It appears that only 1 beacon per team was appearing next to the registered handle as apposed to 1 per beacon.
2017-07-09 09:32:06-0400 [-] {"message": "SBE API: Not registered with any running Games!"}
2017-07-09 09:32:06-0400 [WebClient,client] Unhandled Error
Traceback (most recent call last):
File "./MonitorCore.py", line 213, in
reactor.run()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1243, in run
self.mainLoop()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1255, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/site-packages/twisted/internet/epollreactor.py", line 235, in doPoll
log.callWithLogger(selectable, _drdw, selectable, fd, event)
--- ---
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 103, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 86, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 85, in callWithContext
return func(*args,**kw)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 610, in _doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 255, in _disconnectSelectable
selectable.connectionLost(f)
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 479, in connectionLost
self.connector.connectionLost(reason)
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1136, in connectionLost
self.factory.clientConnectionLost(self, reason)
File "/home/earnoth/Monitors/WebClient.py", line 322, in clientConnectionLost
self.jobs.add(self.body)
File "/home/earnoth/Monitors/Jobs.py", line 32, in add
self.jobs[self.latest_job_id] = Job(job_json_str, self.debug)
File "/home/earnoth/Monitors/Jobs.py", line 139, in init
for service in self.json["host"]["services"]:
exceptions.KeyError: 'host'
Remove the integer representation and replace the skull.
Scorebot should listen on multiple IPs and then different ports per host.
Maybe even some specific redcell ports where that no msg is sent upon connection and it just waits for your code.
This one is more for you, as during the game you were asking us to take screen grabs and tweet them. Maybe have the scorebot auto do this for you upon certain evens like the movie plugin?
Hi,
There is any document explaining how to run scorebot? I was able to install it but can't create a ctf game since i don't know the procedure. Any doc explaining how to execute it?
Thx
Need to not score new tickets until X minutes in
Add an open ticket display to the scoreboard, either a count or stoplight for ranges (ie, 0-5:green; 5-10:yellow; 10+:red)
In Binjistu games, add a display of deployed beacons on the scoreboard for Blue Teams
Scorebot to jump on IRC in respective channels and drop announcements of beaconing / flags, etc...
Document how to use and setup cli and beacon server.
For Binjitsu games, add a display of the stolen flags for Blue Teams on the scoreboard
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1136, in connectionLost
self.factory.clientConnectionLost(self, reason)
File "/home/earnoth/Monitors/WebClient.py", line 290, in clientConnectionLost
self.deferreds[connector].callback(reason)
File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 459, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 567, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "./MonitorCore.py", line 103, in job_submit_fail
self.proc_result(job, failure)
File "./MonitorCore.py", line 85, in proc_result
if len(result) > 300:
exceptions.AttributeError: Failure instance has no attribute '__len__'
Line numbers may very by a few lines.
Service.py = line 357 - 10.0.1.28
Ping.py - line 280 = google.com
Host.py = 10.0.1.50 / 8.8.8.8
TicketInterface.py = 10.150.100.153
line 165 - 10.150.100.153
line 199 = beta.net?
SiteSearch - line 700ish multiply hardcoded sites/ips
Injects.py = line 38 - 10.150.100.70 Mails?
Blueteam.py - line 424 - hostname
scoreboard2.js = hardcoded
Currently scorebot is using very high CPU utilization, even on a powerful system.
No stack trace
message fucntion has XSS.
Maybe also add getsockname() and filter by IP to only allow a set IP in globalvars for allowing who can change that.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.