Skip to content

Commit ba481ca

Browse files
committed
Added task to API
1 parent 533ec81 commit ba481ca

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

start_api.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
from poshc2.server.Core import decrypt
3636
from poshc2.server.Config import PoshInstallDirectory, DownloadsDirectory, PayloadsDirectory, ReportsDirectory
37-
from poshc2.server.database.Helpers import delete_object, get_alive_implants, get_c2_messages, get_implant, get_new_tasks_for_implant, get_tasks_for_implant, insert_object, select_first, select_all, select_subset
37+
from poshc2.server.database.Helpers import delete_object, get_alive_implants, get_c2_messages, get_implant, get_new_tasks_for_implant, get_tasks_for_implant, insert_object, select_first, select_all, select_subset, get_task
3838
from poshc2.server.database.Model import URL, Implant, Task, NewTask, AutoRun, C2Server, Cred, OpsecEntry, C2Message, PowerStatus, HostedFile, MitreTTP
3939

4040
app = Flask(__name__, template_folder=f"{PoshInstallDirectory}/resources/html-templates/", static_folder=f"{PoshInstallDirectory}/resources/html-templates/include/")
@@ -149,6 +149,16 @@ def get(self, number_of_rows=None, implant_id=None):
149149
else:
150150
return data_to_json(Task)
151151

152+
@api.route('/task/<task_id>')
153+
class Tasks(Resource):
154+
@api.doc("task")
155+
@auth.login_required
156+
@api.marshal_list_with(api.model('Task', model_to_api_fields(Task)))
157+
def get(self, task_id=None):
158+
"""
159+
Returns a task by id
160+
"""
161+
return get_task(task_id)
152162

153163
newtask_model = api.model('NewTask', {
154164
'implant_id': fields.String(required=True, description='The unique implant_id for which the task is to be executed'),

0 commit comments

Comments
 (0)